使用OSS(阿里云开放云存储)存储文件时,为了保证文件的安全性和唯一性,文件名全部sha1加密过了。但是这样的话,当用户下载文件时,文件名会是一堆加密串(如:651a53c4ea021589c00e26b5d0d50b96dfafb2d7.doc),如何才能让用户下载文件时是原名(如:周伯通招聘.doc)?

靠谱的方法有两种:

1. 上传文件至OSS时设置HTTP的Content-Disposition头标志。

 

2. 获取文件的下载链接(get_site_url)时设置Content-Disposition标志。

如果不同用户下载同一个文件时使用不同的文件名,方法1就白搭了,只能用方法2。

第一步,修复阿里云PHP SDK V1.1.5的一个Bug(V2应该没有这个Bug了),sdk.class.php第452行,由

修改为:

第二步,get_sign_url时设置Content-Disposition:

 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐