java - 如何在文件上传的servlet内获取输入类型="file"的文件名

标签 java jsp servlets

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

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

最佳答案

对于 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

关于java - 如何在文件上传的servlet内获取输入类型="file"的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17213832/

相关文章:

html - Servlet返回“HTTP状态404请求的资源(/Servlet)不可用”

java - servlet 版本 getServletContext().getEffectiveMajorVersion() 给了我 2.5,而我正在使用 3

java - 在运行时配置 "plumbing"

java - 使用用户输入通过 Web 应用程序安排作业

java - jsp中的if else语句

java - 不得从 JSP 文件中引用默认包中的类

java - 如何访问 javascript 中的 servlet 变量

java - Spring Boot 应用程序 Heroku PostgreSQL 错误 : GenerationTarget encountered exception accepting command : Error executing DDL . .. 通过 JDBC 语句

java - 从 ImageVeiw 获取可绘制对象时出现空指针异常

Java 应用程序分析和测试