2

下面表单中的动作 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");

但这给了我空值。如何从表单中获取文件名的值。请检查。

4

1 回答 1

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

于 2013-06-20T12:57:50.950 回答