Java-文件上传问题

标签 java html forms servlets file-upload

Servlet

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.Iterator;
import java.util.List;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.*;

public class Apply extends HttpServlet
{
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
                            throws ServletException, IOException
    {
        InputStreamReader input = new InputStreamReader(request.getInputStream());
        BufferedReader buffer = new BufferedReader(input);
        String line="";
        line=buffer.readLine();

        System.out.println("Multipart data " + line );

        boolean isMultipart = ServletFileUpload.isMultipartContent(request);
        if(isMultipart)
        {
            // upload file
        }
        else
        {
            // failed, no input
        }
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
                            throws ServletException, IOException
    {
        doPost(request, response);
    }
}

JSP。

        <form enctype="multipart/form-data" method="post" action="apply">
            <fieldset>
                <br/>
                <legend>Upload</legend>
                <br/>
                <label>Select file to upload</label>
                <input type="file" name="file" /><br />
                <br/>
                <a href="apply" class="jUiButton">Submit</a>
            </fieldset>
        </form>     
        <script>$(".jUiButton").button()</script>

boolean 值和输入总是验证为 false/null,我不明白为什么。遵循本指南:http://sacharya.com/file-upload/

在 web-inf/lib 中 - 我们有 commons-fileupload-1.2.2.jar 和 commons-io-2.0.1.jar。

有什么想法吗?

最佳答案

您实际上并未提交表单。您正在导航到带有 GET 的页面请求。

用提交按钮替换“提交” anchor :

<button type="submit" class="jUiButton">Submit</button>

您可以保留 <a>但随后您必须使用 JavaScript 手动提交表单。

关于Java-文件上传问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5245231/

相关文章:

html - 页脚文本的CSS

javascript - jQuery submit() - 事件来覆盖表单操作

java - 在 Ubuntu 16.04 中无法从 TOMCAT 8 访问部署到 docker 镜像的 war 文件

java.util.NoSuchElementException - 扫描仪读取用户输入

java - 使用类加载器隔离静态单例类

html - 为什么 float 按钮不能保持它们的位置?

javascript - 使用 Express 从本地主机获取数据/将数据写入本地主机

javascript - AngularJS 多步表单 - 按回车键应转到下一步并在最后一步提交

Asp.Net多个提交按钮,回车只提交第一个

java - 在 Java (Android) 中创建内存中的 sqlite 数据库的示例?