批量更改阿里云OSS中的content-type

公司之前上传到OSS中的图片content-type 都变了x-octet-stream,所以图片通过浏览器打开的时候总提示下载,这队有些应用会造成严重问题,图片经过两年多积累,已经达到百万张,手动一个一个修改...

公司之前上传到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位的二进制下载地址分别为:

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 表示只下载更新文件

  • 发表于 2017-12-18 11:30
  • 阅读 ( 67 )

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
石天
石天

437 篇文章

作家榜 »

  1. shitian 662 文章
  2. 石天 437 文章
  3. 每天惠23 33 文章
  4. 小A 29 文章