首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将contentType信息从Burzum/FileStorage传递给KnpLabs/Gaufrette

如何将contentType信息从Burzum/FileStorage传递给KnpLabs/Gaufrette
EN

Stack Overflow用户
提问于 2018-08-17 13:26:14
回答 1查看 135关注 0票数 0

CakePHP 3.4应用程序使用Burzum/FileStorage插件(使用KnpLabs/Gaufrette)管理上传到AWS S3。不幸的是,我遇到了MS文件(docx、xlsx等)被检测为ZIP文件的问题。

我修改了我的代码,首先使用finfo,如果它检测到zip,请查看扩展名,看看它是否是一个office文件。现在,我可以通过执行一个file_storage表将这个正确的mimetype传递给patchEntity表。到目前一切尚好。

但是,FileStorage插件调用KnpLabs/Gaufrette将文件实际发送到S3,但它似乎没有发送mimetype/contenttype。因此,Gaufrette在AwsS3适配器中使用自己的finfo技巧,在S3上为项目编写一个元数据字段“Content:application/ zip”,从而使Office文件作为压缩文件下载.

有没有办法在AwsS3适配器的选项中设置正确的内容类型?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-24 09:06:57

这里提到的答案是:https://github.com/burzum/cakephp-file-storage/issues/36

例如,可以使用以下代码访问适配器并设置Content:

代码语言:javascript
复制
$Adapter = \Burzum\FileStorage\Storage\StorageManager::adapter('S3');
$Adapter->getAdapter()->setMetadata($key, array('contentType' => 'whatever'));

感谢burzum指出了这一点!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51896441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档