700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 解决阿里云oss 图片跨域问题

解决阿里云oss 图片跨域问题

时间:2020-02-05 12:41:51

相关推荐

解决阿里云oss 图片跨域问题

前言:阿里云很坑。

两种方法:

一:

在网址:https://oss./bucket/oss-cn-shenzhen/img-design/permission/cors 上设置如下规

按F12打开网络,勾选停用缓存,如果行的话建议使用第二种方法。

‘Cache-Control’ => ‘no-cache’,

二:修改阿里云上传的方法

/*** 阿里云图片上传* @param $local_path 本地文件或临时文件路径* @param $aliyunImg 阿里云路径 可以带上目录* @param $ext图片后缀\与上传图片保持一致* @return |null*/function uploadAliyun( $local_path , $aliyunImg , $ext = 'jpg' ){include_once $_SERVER['DOCUMENT_ROOT']."/../vendor/aliyun-oss-php-sdk-master/autoload.php";$aliyunInfo = db('aliyun_config')->find(1);$accessKeyId = $aliyunInfo['accessKey_id'];$accessKeySecret = $aliyunInfo['accessKey_secret'];$endpoint = 'oss-cn-';$bucket = 'img-ddeessign';$local_path = file_get_contents($local_path);try {$ossClient = new \OSS\OssClient($accessKeyId, $accessKeySecret, $endpoint);$options = array(\OSS\OssClient::OSS_HEADERS => array('Cache-Control' => 'no-cache','Content-Type'=>'image/'. $ext));$result = $ossClient->putObject($bucket, $aliyunImg, $local_path, $options);$root_path = 'img.7654321.ddeessign';$url = 'img-ddeessign.oss-cn-';return str_replace($url, $root_path, $result['info']['url']);} catch (\Exception $e) {echo $e->getMessage();return null;}}

请注意:手动给图片添加’Cache-Control’ => ‘no-cache’,试下,一般都是谷歌的缓存造成的。

参考:管理文件元信息

/document_detail/88508.html?spm=a2c4g.11174283.6.1243.3ac67da2ty4ogv

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。