公司之前上传到OSS中的图片content-type 都变了x-octet-stream,所以图片通过浏览器打开的时候总提示下载,这队有些应用会造成严重问题,图片经过两年多积累,已经达到百万张,手动一个一个修改显然是不可能的。
当然通过调用阿里云oss的接口或sdk应该可以达到目的,我没有试过,阿里云的OSS其实提供了一个命令和工具 ossutil , 这个工具的使用链接为:
https://help.aliyun.com/document_detail/50452.html?spm=5176.doc44075.2.5.aRlqGpcp -r oss://yy-miniprogram/yy_etl03/
linux下的32位和64位的二进制下载地址分别为:
./ossutil config -e oss.aliyuncs.com -i your_id -k your_key
2,使用下面领命更改content-type 数据信息:
./ossutil64 set-meta oss://oss-mth-1/communityDocs/2017 Content-Type:image/jpeg --update -r --include "*.jpg"
3,列出指定bucket中的目录 ./ossutil64 ls oss://yy-miniprogram -s -d 以精简模式显示目录
4,从oss上copy目录到本地 ./ossutil64 cp -r oss://yy-miniprogram/yy_etl03/ ./ (注意:后面如果是接目录,比如:copy的目的为 ./ 则只会copy下载 yy_etl03 下的目录到当前目录,而不是期望的 下载下来的也是 yy_etl03 目录)
5,上传本地目录到oss,并且保持远程oss上bucket上的目录和本地目录同名:../ossutil64 cp -r yy_etl03/ oss://hh-pics/yy_etl03 (把本地yy_etl03 目录上传到oss上,此时远程oss上的目录也是yy_etl03)
6,如果本地有下载文件,只是想把oss上的更新下载下来,可以使用: ossutil64 cp -r -u oss://sy-mth-app-pic ./
-u 表示只下载更新文件
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!