上传的文件丢失

问题描述:

我上传的服务器位置的文件everytime..but后的某个时间或次日该位置是从我的system.so缺少我收到始终未找到错误文件例外..上传的文件丢失

这里是我的代码

 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(); 

     } 
+0

“location is missing” fge

+0

什么操作系统?你要保存哪个文件夹?如果它是一个临时文件夹,操作系统可能会定期清除它。 –

+0

@NickWilson是...在临时文件夹中.E:\ PRG \ .metadata \ .plugins \ org.eclipse.wst.server.core \ tmp0 \ wtpwebapps \ – Haseena

您正在将上传的文件存储在Eclipse用来部署webapp的临时目录中。因此,每次部署webapp时,该目录都将被清除。

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

要存储,您可以创建你的web应用中一个新的文件夹,上传的文件,然后你可以使用此位置为:

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

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

+0

这将导致OP正在试图避免的问题:每次重新部署webapp将删除上传的文件。上传的文件是数据。它们与webapp的代码无关。而且,如果应用程序被部署为未爆炸的战争文件,它将不起作用。 –