下面表单中的操作EdgeWarUpload是一个servlet,它是上传文件。
<form action="EdgeWarUpload" method="post"
enctype="multipart/form-data">
<input type="file" name="file" size="50" />
<br />
<input type="submit" value="Upload File" />
</form>
它工作正常,但在servlet post方法中,我想要上传的文件的名称。我试过
request.getParameter("file");
但这让我无效。 如何从表单中获取文件名的值。请检查。
答案 0 :(得分:4)
对于Servlet 3.0 API
将@MultipartConfig()
添加到servlet并使用它来打印名称。
public void printNames(HttpServletRequest request){
for(Part part : request.getParts()){
System.out.println("PN: "+ part.getName());
Collection<String> headers = part.getHeaders("content-disposition")
if (headers == null)
continue;
for(String header : headers){
System.out.println("CDH: " + header);
}
}
}
对于较旧的Servlet API,我建议使用Apache Commons FileUpload