首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用mime类型上载.docx

问使用mime类型上载.docx
EN

Stack Overflow用户
提问于 2013-07-09 23:39:40
回答 1查看 4.3K关注 0票数 1

我一直在使用内置的mimeTypes验证器通过Yii上传文件。不过,我似乎无法接受.docx文件或.rtf文件。目前我有这样的代码:

模型

代码语言:javascript
复制
array('file', 'file', 'on' => 'insert', 'safe'=>true, 'maxSize'=> 512000, 'maxFiles'=> 1, 
                    'mimeTypes' => 'application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document, text/rtf, text/plain',
                    'tooLarge'=> 'File cannot be larger than 500KB.',
                    'wrongMimeType'=> 'Format must be:<code>.doc</code>  <code>.docx</code> <code>.txt</code> <code>.rtf</code>'), 

我将.docx扩展名添加到Yii的mimeTypes.php文件中,并使用以下行:

代码语言:javascript
复制
'docx'=>'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 

我还将其添加到apache/conf/mime.type中。

代码语言:javascript
复制
application/vnd.openxmlformats-officedocument.wordprocessingml.document docx

我也读过关于这个主题的文章,并且经常看到这些文件被看作是压缩文件,并添加了mimeType、application/octet-stream和application/zip,而且它仍然不会上传。

我也呼应了mime_type Yii所看到的,它与我在模型中的设置相匹配。

我只是有点不知所措,不知道还有什么地方可以试着解决这个问题。所以来自更有经验的人的任何帮助都是很棒的

谢谢

琼尼

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-12 07:27:36

如果查看CFileValidator::validateFile()的实现,您会注意到Yii要么使用finfo_file() (自PHP5.3.0以来),要么使用mime_content_type()来查找文件的MIME类型。

因此,如果您检查PHP版本,您可以进一步调试或提供您的自定义魔术文件。

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

https://stackoverflow.com/questions/17560107

复制
相关文章

相似问题

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