我有一个Java Web应用程序,允许用户上传Word或PDF文件。上传.DOCX文件时,我有2个用户抱怨错误的文件类型。我得到了这两个文件并上传到我自己的电脑中。两者工作顺利。MS Word文档在不同的浏览器中有不同的MIME类型
我使用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]我要求一个用户在程序修改后再次上传。你猜怎么了?这次没有错误。晕!
另外,一个简单的调试步骤是在你的'if'块中打印输入的MIME类型,看看它为什么失败 – StormeHawke
道歉,我没有在你的列表中看到最后一个MIME类型。仍然建议打印出你的if区块里面的MIME类型,看看弹出了什么 – StormeHawke
谢谢!我正在修改progrmam来记录MIME类型。 – lonelyloner