阿里云oss_阿里云OSS设置Content-Type
发现阿里云OSS默认Content-Type类型都是application/octet-stream这样上传图片等文件的时候,浏览器不能直接打开,直接下载,很不方便这个是提交阿里工单,给到的回复【问题定义】 oss修改content-type【处理建议】 您好,关于批量修改meta信息的问题,推荐您使用两种方法: 1、使用sdk进行接口的调用处理,参考下:(Java为例子)https://h...
发现阿里云OSS默认Content-Type类型都是application/octet-stream
这样上传图片等文件的时候,浏览器不能直接打开,直接下载,很不方便
这个是提交阿里工单,给到的回复
【问题定义】 oss修改content-type 【处理建议】 您好,关于批量修改meta信息的问题,推荐您使用两种方法: 1、使用sdk进行接口的调用处理,参考下:(Java为例子)
https://help.aliyun.com/document_detail/84840.html?spm=a2c4g.11186623.6.811.66f0c1f65NwVs5 2、使用ossutil命令行工具进行处理,支持前缀以及目录之类的方式哈。 参考下: https://help.aliyun.com/document_detail/120056.html?spm=a2c4g.11186623.6.735.181165d32BkZMj
我用的语言是php,几乎没有解决
用的laravel5.2框架,OSS用的johnlui/AliyunOSS
git地址是:https://github.com/johnlui/AliyunOSS
查了很多资料,一直进入的误区是Content-Type是在$options = [];里面
官方文档也是
https://help.aliyun.com/document_detail/88508.html?spm=a2c4g.11186623.6.1097.4ffe720fx7gxsu
实际上查看johnlui/AliyunOSS代码
在路径vendor/johnlui/aliyun-oss/src/AliyunOSS.php
修改AliyunOSS.php文件里uploadFile方法
public function uploadFile($key, $file, $options = [])
{
$handle = fopen($file, 'r');
$value = $this->ossClient->putObject(array_merge([
'Bucket' => $this->bucket,
'Key' => $key,
'Content' => $handle,
'ContentLength' => filesize($file),
'ContentType' => getimagesize($file)['mime'], //增加这一行
], $options));
fclose($handle);
return $value;
}
测试,修改成功
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)