在laravel 5.5项目中使用了如下的oss上传的包
"jacobcyl/ali-oss-storage": "^2.1"
$path = Storage::disk('oos')->putFileAs('/', $file,$filename);
在使用storage上传功能,上传.apk文件,在阿里云oss上查看文件的http头部被自动设置成为了application/zip。
导致我安卓手机在浏览器中下载文件无法安装,请问应该如何正确的设置HTTP头?
在laravel 5.5项目中使用了如下的oss上传的包
"jacobcyl/ali-oss-storage": "^2.1"
$path = Storage::disk('oos')->putFileAs('/', $file,$filename);
在使用storage上传功能,上传.apk文件,在阿里云oss上查看文件的http头部被自动设置成为了application/zip。
导致我安卓手机在浏览器中下载文件无法安装,请问应该如何正确的设置HTTP头?
2 回答1.5k 阅读✓ 已解决
1 回答1.3k 阅读✓ 已解决
2 回答904 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
2 回答967 阅读
1 回答940 阅读
1 回答863 阅读
看了一下介绍,没看到有



putFileAs
这个用法。就说一下putFile
吧。在注册 oss 这个存储器时,这里注册了 PutFile 这个插件。
有关插件注册,可以点击 addPlugin 进去看个详细,实际上最终也是通过
__call
来调用到对应的 handle 方法的。进到适配器的 writeFile 方法就能看到,当传递的第三个参数中,如果没有
Content-Type
,就会自动推断类型,有兴趣的话可以点击去看,他这里可以推断的类型很少,以致于无法完全照顾到。所以说如果要设置,在调用 putFile 方法的第三个参数,传入一个关联数组键值对即可。
最后,对于来自用户或者非服务器文件的上传,应该选用直传方案,而不是中转上传。
Web端上传介绍_Web端上传数据至OSS_最佳实践_对象存储 OSS-阿里云