• 记下载oss图片接口(附带删除)


    项目某个功能用到下载oss文件并打包
    结果网查全都是oss文件上传
    自己写了个下载oss保存到本地 增添一份资源
    下载图片

        public static function downLoad($url,$downPath){
            $accessKeyId = config('app.oss.ossKeyId');
            $accessKeySecret = config('app.oss.ossKeySecret');
            // Endpoint以杭州为例,其它Region请按实际情况填写。
            $endpoint = config('app.oss.endpoint');
            // 存储空间名称
            $bucket= config('app.oss.bucket');
    
            // <yourObjectName>表示您下载OSS文件时需要指定的文件路径,例如abc/123.jpg。
            $str=str_replace(config('app.oss.host').'/','',$url);
            // 替换掉oss域名 示例:
            // $object = 'goods_pic/2020-10-26/e29a18944c0e4cdc79e93350232fd75d';
            $object = $str;
    
            // <yourLocalFile>本地指定的文件路径加文件名包括后缀组成,例如/users/local/myfile.txt。
            $localfile = $downPath;
           
            $options = array(
                    OssClient::OSS_FILE_DOWNLOAD => $localfile
                );
            
            // 使用try catch捕获异常,如果捕获到异常,则说明下载失败;如果没有捕获到异常,则说明下载成功。
            try{
                $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
            
                $aa = $ossClient->getObject($bucket, $object, $options);
                return true;
                // var_dump($aa);
            } catch(OssException $e) {
                printf(__FUNCTION__ . ": FAILED
    ");
                printf($e->getMessage() . "
    ");
                return;
            }
        }

    附带删除oss文件

        //删除
        public static  function delimg($url){
            $accessKeyId = config('app.oss.ossKeyId');
            $accessKeySecret = config('app.oss.ossKeySecret');
            // Endpoint以杭州为例,其它Region请按实际情况填写。
            $endpoint = config('app.oss.endpoint');
            // 存储空间名称
            $bucket= config('app.oss.bucket');
            // 文件名称
            // <yourLocalFile>由本地文件路径加文件名包括后缀组成,例如/users/local/myfile.txt
            try{
                $host = config('app.oss.host').'/';
                $object = str_replace($host,'',$url);
                $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
                $ossClient->deleteObject($bucket, $object);
            } catch(OssException $e) {
                return false;
            }
            return true;
        }

     附带上传

        public static function sendimg($imgurl,$codeName,$fileName,$isdel=false){
            $date = date('Y-m-d');
            $accessKeyId = config('app.oss.ossKeyId');
            $accessKeySecret = config('app.oss.ossKeySecret');
            // Endpoint以杭州为例,其它Region请按实际情况填写。
            $endpoint = config('app.oss.endpoint');
            // 存储空间名称
            $bucket= config('app.oss.bucket');
            // 文件名称
            $object = "$fileName/$date/$codeName";
            // <yourLocalFile>由本地文件路径加文件名包括后缀组成,例如/users/local/myfile.txt
            try{
                $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
                $options = array(
                // 可以参看https://help.aliyun.com/document_detail/31859.html?spm=a2c4g.11186623.2.10.481e2b72ggLS4F#concept-lkf-swy-5db
                OssClient::OSS_CONTENT_TYPE => 'image/jpg/zip',  // 简单的举例使用 要根据实际的图片类型 
                );
                $aa = $ossClient->uploadFile($bucket, $object, $imgurl,$options);
                if($isdel){
                    unlink($imgurl);
                }
            } catch(OssException $e) {
                return false;
            }
            $img_src = config('app.oss.host')."/".$object;
            return $img_src;
        }
  • 相关阅读:
    k8s环境实现springcloud电商项目(二)SpringCloud及组件介绍&Eureka组件部署
    k8s核心资源之service四层负载均衡器代理(六)
    在B串中查找是否有A串华为
    matplotlib学习笔记
    Spring IOC 常用注解与使用
    Spring AOP快速使用教程
    SpringBoot启动原理
    BeanFactory和ApplicationContext的区别总结
    泛型之泛型方法
    Lombok中的@Builder注解的使用
  • 原文地址:https://www.cnblogs.com/liiu/p/13896323.html
Copyright © 2020-2023  润新知