多部分表单不起作用

时间:2012-03-23 09:19:02

标签: java file-upload apache-commons multipartform-data

我对多部分表单有一种奇怪的行为。我有一个简单的HTML多部分表单,我使用Apache commons库来提取字段和文件。但是,由于某种原因,servlet代码ServletFileUpload.isMultipartContent(request)返回false。下面是HTML和Servlet代码。有人可以告诉我哪里出错了吗?

这是HTML文件代码。

<body>
    <form method="post" action="http://localhost:8080/myapp/handler" enctype="multi-part/form-data">
        <input type="text" name="exp_name"> 
        <input type="file" name="exp_image_upload_0"> 
        <br />
        <button type="submit">Submit</button>
        <button class="btn">Cancel</button>
    </form>
</body>

这是Servlet代码

/** Common method called by doGet and doPost methods **/
private void executeRequest(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{
    boolean isMultiPart = ServletFileUpload.isMultipartContent(request);
    System.out.println("Content Type : " + request.getContentType());
    System.out.println("Name : " + request.getParameter("exp_name"));
    if (isMultiPart)
        System.out.println(">>>> IS MULTIPART");
    else
        System.out.println(">>>> IS NOT MULTIPART");
}

对于此代码,我总是打印“IS NOT MULTIPART”。我确信有些东西我遗失或做错了,但我无法确切地确定是什么?请帮助。

1 个答案:

答案 0 :(得分:1)

根据以下内容更改表单标记中的enctype属性:

enctype="multipart/form-data"