我正在尝试在 servlet 3.0> 中上传多个文件。我在 getSubmissedFileName() 方法中收到错误。为什么我会收到此错误?
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String description = request.getParameter("description"); // Retrieves
// <input
// type="text"
// name="description">
Part filePart = request.getPart("file"); // Retrieves <input type="file"
// name="file">
String fileName = Paths.get(filePart.getSubmittedFileName())
.getFileName().toString(); // MSIE fix.
InputStream fileContent = filePart.getInputStream();
// ... (do your job here)
}
我以前遇到过这个问题。
有人帮助我找到了这个问题的根源,所以这是我得到的解决方案:
在Java EE 7的DOC中可以看到从Servlet 3.1开始就增加了“Interface Part”的getSubscribedFileName方法,并且从tomcat网站上可以看到Tomcat 7实现了Servlet 3.0,所以我需要从Tomcat 7升级到汤姆猫 8.0.x。
参考:
- 部件接口的getSubscribedFileName https://docs.oracle.com/javaee/7/api/javax/servlet/http/Part.html#getSubmittedFileName--
- Tomcat 版本 http://tomcat.apache.org/whichversion.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)