首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我正在用DiskFileItemFactory.But上传文件,文件不是用Java上传的

我正在用DiskFileItemFactory.But上传文件,文件不是用Java上传的
EN

Stack Overflow用户
提问于 2014-12-02 18:18:10
回答 1查看 486关注 0票数 0

我正在尝试使用DiskFileItemFactory.But的java web应用程序上传文件,问题是它在迭代中没有得到任何file.It显示空数组。

iter.size()为0。请看下面我的代码。

代码语言:javascript
复制
public ModelAndView upload( ModelMap model, HttpSession session, HttpServletRequest request, HttpServletResponse resp) throws IOException, ServletException, FileUploadException {
if (ServletFileUpload.isMultipartContent(request)) {

    System.out.println("file available");
}

boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart) {
    //  ResourceImpl resource = new ResourceImpl();
    try {
        //Create a factory for disk-based file items
        FileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);
        List items = upload.parseRequest(request);
        System.out.println(items.size());
        Iterator iter = items.iterator();
        while (iter.hasNext()) {

            FileItem item = (FileItem) iter.next();
        }

    } catch (Exception e) {

    }
}

我的形式是;

代码语言:javascript
复制
 <form method="post" action="/DropBox/upload.html" enctype="multipart/form-data">
     Select file to upload: <input type="file" name="uploadFile" />
     <br/><br/>
     <input type="submit" value="Upload" />
 </form>

我做错了什么。请帮帮我。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-12-03 15:46:50

你应该尝试每一个。它做得很好。

代码语言:javascript
复制
if (ServletFileUpload.isMultipartContent(request)) {

    try {
        List<FileItem> multipart = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);

        for (FileItem item : multipart) {

            if (!item.isFormField()) {

                filename = new File(item.getName()).getName();
                folder = "path";
                File file = new File(folder);

                if (!file.exists()) {
                    file.mkdir();

                }
            }

            item.write(new File(folder + "/" + filename));
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27246897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档