将文件上载到服务器会引发文件或目录未找到异常

时间:2013-10-09 09:02:17

标签: java file-upload

以下是我用于将文件上传到服务器的代码。但是代码抛出了一个未找到的异常目录或文件..

                ResourceBundle rs_mail = ResourceBundle.getBundle("mail");
                String upload_path = rs_mail.getString("upload_path");
                File file = null;
                FileItemFactory factory = new DiskFileItemFactory();
                ServletFileUpload upload = new ServletFileUpload(factory);
                // Parse the request to get file items.
                List fileItems = upload.parseRequest(request);

                // Process the uploaded file items
                Iterator i = fileItems.iterator();
                while (i.hasNext()) {
                    FileItem fi = (FileItem) i.next();
                    File uploadDir = new File(upload_path);
                    if (!uploadDir.exists()) {
                        uploadDir.mkdir();
                    }
                  file = new File(upload_path + file.separator + fi.getName());

                    fi.write(file);
                }

任何人都可以指出异常的原因..

属性文件的内容

upload_path = .. / .. / .. /上传

1 个答案:

答案 0 :(得分:1)

确保您还在upload_path的路径上创建所有父目录:

if (!uploadDir.exists()) {
   uploadDir.mkdirs();
}

请注意使用mkdirs()代替mkdir()。如果父结构不存在,mkdir()将失败。 mkdirs()还将尝试创建所需的父目录。

您还应该检查返回值,如果无法创建目录,这两种方法都将返回false