laravel 上传文件至oss 如何设置http头部

发布于 2022-09-12 02:48:43 字数 280 浏览 9 评论 0

在laravel 5.5项目中使用了如下的oss上传的包

"jacobcyl/ali-oss-storage": "^2.1"

$path = Storage::disk('oos')->putFileAs('/', $file,$filename);

在使用storage上传功能,上传.apk文件,在阿里云oss上查看文件的http头部被自动设置成为了application/zip。
导致我安卓手机在浏览器中下载文件无法安装,请问应该如何正确的设置HTTP头?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

相思碎 2022-09-19 02:48:43

看了一下介绍,没看到有 putFileAs 这个用法。就说一下 putFile 吧。
在注册 oss 这个存储器时,这里注册了 PutFile 这个插件。
图片.png
有关插件注册,可以点击 addPlugin 进去看个详细,实际上最终也是通过 __call 来调用到对应的 handle 方法的。
图片.png
进到适配器的 writeFile 方法就能看到,当传递的第三个参数中,如果没有 Content-Type ,就会自动推断类型,有兴趣的话可以点击去看,他这里可以推断的类型很少,以致于无法完全照顾到。
图片.png
所以说如果要设置,在调用 putFile 方法的第三个参数,传入一个关联数组键值对即可。

Storage::disk('oos')->putFile('local.apk','oss.apk',['Content-Type'=>'application/vnd.android.package-archive']);
// todo

最后,对于来自用户或者非服务器文件的上传,应该选用直传方案,而不是中转上传。
Web端上传介绍_Web端上传数据至OSS_最佳实践_对象存储 OSS-阿里云

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文