zoukankan      html  css  js  c++  java
  • 记下载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;
        }
  • 相关阅读:
    visual studio 2015 Opencv 3.4.0配置
    读漫谈架构博文有感
    代码阅读方法与实践阅读笔记06
    代码阅读方法与实践阅读笔记05
    apache https 伪静态
    今天网站后台登录页面需要生成一个二维码,然后在手机app上扫描这个二维码,实现网站登录的效果及其解决方案如下
    架设lamp服务器后,发现未按照 Apache xsendfile模块,
    linux下bom头导致的php调用php接口 返回的json字符串 无法转成 数组,即json字符串无法解码的问题
    什么是OAuth授权?
    以application/json 方式提交 然后用在php中读取原始数据流的方式获取 在json_encode
  • 原文地址:https://www.cnblogs.com/liiu/p/13896323.html
Copyright © 2011-2022 走看看