java - 未为类型 Part 定义方法 getSubmittedFileName()

标签 java file-upload servlet-3.0

我正在尝试在 servlet 3.0 中上传多个文件>。我在 getSubmittedFileName() 方法中遇到错误。为什么会出现此错误?

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)部分”添加到其中的 getSubmittedFileName 方法,并且从 tomcat 网站上可以看到,Tomcat 7 实现了 Servlet 3.0,因此我需要从Tomcat 7 到 Tomcat 8.0.x。

引用资料:

关于java - 未为类型 Part 定义方法 getSubmittedFileName(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41038886/

相关文章:

java - 如何使用 JUnit 测试解释器?

java - 如何为多线程 Java 服务器实现观察者设计模式?

java - 带预览的多文件 uploader

c# - 正在尝试将 .png 文件上传到 Web 目录

java - 是否可以在运行时(启动后)添加jar(使用web-fragment.xml)

java - 将数据加载到列表时出现内存不足异常

java - 方法声明中参数声明之前的 final 关键字

javascript - 如何在多个选择中保留现有文件选择

java - Servlet 3.0 Spring Java 配置 JNDI

java - 如何在服务器中动态指定jsp文件上传存储文件夹路径