阿里oss自定义域名从默认的预览改成下载

发布时间 2023-04-26 22:54:54作者: windysai
阿里oss自定义域名从默认的预览改成下载
  今天测试人员反馈,说oss绑定的自定义域名,在电脑端的QQ浏览器打开的excel文件,打开显示黑屏,而不是下载。微软的Edge浏览器还算正常点,QQ浏览器直接黑屏。如下图:
(1)Edge浏览器:

 (2)QQ浏览器:

   以前我试过把已经上传到oss的图片,批量地从预览改成下载。

参考:https://help.aliyun.com/document_detail/120056.htm?spm=a2c4g.11186623.0.0.795d62feQKUGcl#concept-303809

单个图片写成这样:

ossutil --config-file  /root/.ossutilconfig set-meta oss://{bucket名字}/{bucket下的某个目录}/{图片名字}.jpg  Content-Type:application/octet-stream

批量修改目录下所有文件:

ossutil --config-file  /root/.ossutilconfig set-meta oss://{bucket名字}/{bucket下的某个目录}/  Content-Type:application/octet-stream -u -r  

 如果要对后面上传的文件统一处理,需要前端代码自定义响应头:

  Content-Type如果设置为application/octet-stream也会导致强制下载,这个是二进制的下载流。 Content-Disposition如果设置为attachment,就是会强制下载。

类似下图:

 今天这个问题稍稍不同,需要将已经上传到oss的excel文件,强制改成下载

我曾经试过用上面批量修改的命令,无法解决,后来阿里给了这条命令我,值得收藏:

ossutil --config-file  /root/.ossutilconfig set-meta oss://bukcet名字/需要设置的目录  Content-Disposition:attachmen -u -r  

   再说个好笑的事,当我发现那条批量修改的命令改了无法解决的时候,前端曾经试过用代码上传了一个excel文件,能解决QQ浏览器打开excel黑屏的问题~~~当时我以为ossutil无法解决,也绝望地给测试妹子说,告诉客户点下载就好,忽略黑屏。前端那会也很绝望,说oss解决不了的话,只能他利用上面截图的代码把原来在oss的excel重新上传一遍,貌似有32个文件。

  其实想想,ossutll 和代码上传都用到这个 Content-Disposition:attachment。所以原来应该差不多的。