java - MS Word 文档在不同浏览器中是否有不同的 mime 类型

标签 java mime

我有一个 Java Web 应用程序,允许用户上传 Word 或 PDF 文件。我有 2 位用户提示上传 .DOCX 文件时文件类型错误。我得到了这两个文件并上传到我自己的电脑上。两者都运行顺利。

我使用MultipartRequest.getContentType()来获取文件类型。然后使用以下内容来检查

if(!(myFileType.equals("application/pdf") || myFileType.equals("application/msword") || myFileType.equals("application/vnd.openxmlformats-officedocument.wordprocessingml.document"))){
                errMsg = "Wrong file type. Only PDF and MS Word are accepted";          
}

在我看来,这是客户端 PC 的问题。浏览器?防毒软件?有人知道吗?

[补充]我在日志文件中发现某些 PDF 文件的类型也错误。如果存在错误的文件类型错误,我确实需要记录 mime 类型。

[补充2]程序修改后,我请一位用户重新上传。你猜怎么了?这次没有错误。晕!

最佳答案

我们在应用程序中发现,某些浏览器将 .docx 报告为 zip(mimetype application/zip 或 application/x-zip-compressed)。这可能是因为 .docx 文件实际上是压缩文件,并且浏览器正在执行一些魔数(Magic Number)扫描或类似操作。

基本上,只是不要信任客户端软件报告的 mimetypes。也不要信任扩展。

关于java - MS Word 文档在不同浏览器中是否有不同的 mime 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18358960/

相关文章:

php - MIME 文件附件打不开

perl - OTRS PostmasterMailbox.pl 解析/MIME 类型

java - 如何使用事件源(axon 框架)处理传奇中从 REST-API 传递的多个实体?

java - 请帮我理解这段Java代码

java - 将 JSON 数组发布到 Android 中的 Web 服务

java - 通过JAVA获取mongodb中的currentdate

Java:无法加载applications.properties

python - 多部分/混合电子邮件附件未显示,但仅在 Windows 10 邮件中显示

c++ - 在 C++ 中发送带附件的邮件? (或者如何构造可以发送到 SMTP 的 MIME 编码电子邮件消息?)

text - 文本的应用程序/普通 MIME 类型?