Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java MS Word文档在不同浏览器中是否具有不同的mime类型_Java_Mime - Fatal编程技术网

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

Java MS Word文档在不同浏览器中是否具有不同的mime类型,java,mime,Java,Mime,我有一个Java web应用程序,允许用户上传Word或PDF文件。我有两个用户抱怨上载.DOCX文件时文件类型错误。我得到了这两个文件,并上传到我自己的电脑上。两个工作都很顺利 我使用MultipartRequest.getContentType()获取文件类型。然后使用以下命令检查 if(!(myFileType.equals("application/pdf") || myFileType.equals("application/msword") || myFileType.equals(

我有一个Java web应用程序,允许用户上传Word或PDF文件。我有两个用户抱怨上载.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]我要求一位用户在程序修改后再次上传。你猜怎么着?这次没有错误。昏倒

简而言之,答案是否定的,不同的浏览器没有不同的mime类型。但是,docx不能与
应用程序/msword
一起使用。有关office 2007+docx等文件的正确mime类型,请参见此链接:


我们在应用程序中发现,一些浏览器将.docx报告为zip(mimetypeapplication/zip或application/x-zip-compressed)。这可能是因为.docx文件实际上是压缩文件,浏览器在做一些神奇的数字扫描之类的事情


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

另外,一个简单的调试步骤是在
if
块中打印出传入的mime类型,看看它失败的原因抱歉,我没有看到列表中的最后一个mime类型。还是建议在if块中打印mime类型,看看会弹出什么谢谢!我正在修改程序以记录mime类型。