上传的文件丢失
问题描述:
我上传的服务器位置的文件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();
}
答
您正在将上传的文件存储在Eclipse用来部署webapp的临时目录中。因此,每次部署webapp时,该目录都将被清除。
上传的文件不应该存储在那里。配置存储文件的绝对路径(如c:\uploaded_files
),并将文件存储在此目录中。
答
要存储,您可以创建你的web应用中一个新的文件夹,上传的文件,然后你可以使用此位置为:
File file=new File(session.getServletContext().getRealPath("/Your_Location"));
或者你可以使用任何绝对位置。
+0
这将导致OP正在试图避免的问题:每次重新部署webapp将删除上传的文件。上传的文件是数据。它们与webapp的代码无关。而且,如果应用程序被部署为未爆炸的战争文件,它将不起作用。 –
“location is missing” fge
什么操作系统?你要保存哪个文件夹?如果它是一个临时文件夹,操作系统可能会定期清除它。 –
@NickWilson是...在临时文件夹中.E:\ PRG \ .metadata \ .plugins \ org.eclipse.wst.server.core \ tmp0 \ wtpwebapps \ – Haseena