Java MultipartConfig中的文件类型检查出错
我正在开发上传图片的代码。但这并不能正常工作。在我的Java MultipartConfig中的文件类型检查出错,java,servlets,Java,Servlets,我正在开发上传图片的代码。但这并不能正常工作。在我的servlet中,我将检查contenttype如果contexttype匹配到“image/jpeg”或“image/jpeg”文件将以其他方式写入,并显示错误消息 Part filePart = request.getPart("pho`to"); String str = filePart.getContentType(); if (str != "image/jpeg" && str != "image/jpg"
servlet
中,我将检查contenttype
如果contexttype
匹配到“image/jpeg”
或“image/jpeg”
文件将以其他方式写入,并显示错误消息
Part filePart = request.getPart("pho`to");
String str = filePart.getContentType();
if (str != "image/jpeg" && str != "image/jpg") {
response.sendRedirect("uploadimage?action=errorinfiletype");
return;
}
User.updateImage(inputStream, uid);
response.sendRedirect("uploadimage?action=changed");
但是上面的代码总是显示错误消息。
我认为我的if条件有错误。在Java中,您不能使用
==
或来比较字符串=代码>操作员。您必须使用equals()
方法,即
if (!"image/jpeg".equals(str) && !"image/jpg".equals(str)) {
...
}
您可以执行以下操作:
if (str==null || !str.matches("image/jp(e)?g") ) {
response.sendRedirect("uploadimage?action=errorinfiletype");
return;
}
您得到的错误是什么?编译时或运行时错误?没有错误。请始终进入IFG的正文,您对此的期望和关注是什么?如果str等于“image/jpeg”或“image/jpg”。然后更新图像,否则打印错误消息,而不是使用&&use | |。这里&&期望这两个条件都是真的。但是由于原始代码很混乱,所以不确定您想要实现什么。