上传的文件丢失

时间:2013-07-18 07:50:25

标签: java java-ee

我每次都在服务器位置上传文件..但在某个时间或第二天之后我的系统中缺少该位置。因此我总是得到错误文件未找到异常..

这是我的代码

        String fileName = file.getFileName().trim();
           if(!("").equals(fileName)){  
               long timeStamp = com.mysql.jdbc.Util.getCurrentTimeNanosOrMillis();
                String fileExtension = fileName.substring(fileName.lastIndexOf("."));               
                fileName = fileName.substring(0,fileName.lastIndexOf("."));             
                String newFileName = fileName.concat("-").concat(String.valueOf(timeStamp)).concat(fileExtension);
                String foldercreated = folder + "\\" + newFileName;
                dto.setReplyDocName(newFileName);
                fos = new FileOutputStream(foldercreated);
                fos.write(file.getFileData());
                dto.setReplyDocLocation(foldercreated);
                fos.flush();
                fos.close();

        }

2 个答案:

答案 0 :(得分:2)

您将上载的文件存储在Eclipse用于部署Web应用程序的临时目录中。因此,每次部署Web应用程序时,都将清除此目录。

上传的文件不应该存储在那里。配置应存储文件的绝对路径(如c:\uploaded_files),并将文件存储在此目录中。

答案 1 :(得分:0)

要存储上传的文件,您可以在webapp中创建一个新文件夹,然后您可以将此位置用作:

File file=new File(session.getServletContext().getRealPath("/Your_Location"));

或者您可以使用任何绝对位置。

相关问题