无法使用Servlet上传图像

时间:2013-12-10 06:27:00

标签: html servlets file-upload

我正在尝试使用servlet上传图像,但我无法做到这一点。服务器控制台中没有错误。

这是我的Servlet代码

    if (ServletFileUpload.isMultipartContent(request)) {
        try {
            List<FileItem> multiparts = new ServletFileUpload(
                    new DiskFileItemFactory()).parseRequest(request);
            System.out.println(items);    // this is printed as empty list
            for (FileItem item : multiparts) {
                System.out.print(DIR);
                if (!item.isFormField()) {
                    String name = new File(item.getName()).getName();
                    item.write(new File(DIR + "\\" + name));
                }
            }
        } catch (Exception ex) {
            System.out.println(ex);
            request.getRequestDispatcher("/message/success/Failure.jsp").forward(request, response);
        }

    } else {
            request.getRequestDispatcher("/message/success/NotSupported.jsp").forward(request, response);
    }

我的HTML

    <form action="ChangeAvtar" method="post">
        <a onclick="document.getElementById('file').click()" >Edit</a>
        <input type="file" id="file" />
        <input type="submit">
    </form>

我可以找到的原因是列表为空,因此它不会进入for循环但不确定原因。

谢谢。

1 个答案:

答案 0 :(得分:0)

尝试使用---&gt; html中的表单标记中的enctype="multipart/form-data"