我正在尝试使用servlet上传图像,但我无法做到这一点。服务器控制台中没有错误。
这是我的Servlet代码
if (ServletFileUpload.isMultipartContent(request)) {
try {
List<FileItem> multiparts = new ServletFileUpload(
new DiskFileItemFactory()).parseRequest(request);
System.out.println(items); // this is printed as empty list
for (FileItem item : multiparts) {
System.out.print(DIR);
if (!item.isFormField()) {
String name = new File(item.getName()).getName();
item.write(new File(DIR + "\\" + name));
}
}
} catch (Exception ex) {
System.out.println(ex);
request.getRequestDispatcher("/message/success/Failure.jsp").forward(request, response);
}
} else {
request.getRequestDispatcher("/message/success/NotSupported.jsp").forward(request, response);
}
我的HTML
<form action="ChangeAvtar" method="post">
<a onclick="document.getElementById('file').click()" >Edit</a>
<input type="file" id="file" />
<input type="submit">
</form>
我可以找到的原因是项列表为空,因此它不会进入for循环但不确定原因。
谢谢。
答案 0 :(得分:0)
尝试使用---&gt; html中的表单标记中的enctype="multipart/form-data"