我每次都在服务器位置上传文件..但在某个时间或第二天之后我的系统中缺少该位置。因此我总是得到错误文件未找到异常..
这是我的代码
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 :(得分:2)
您将上载的文件存储在Eclipse用于部署Web应用程序的临时目录中。因此,每次部署Web应用程序时,都将清除此目录。
上传的文件不应该存储在那里。配置应存储文件的绝对路径(如c:\uploaded_files
),并将文件存储在此目录中。
答案 1 :(得分:0)
要存储上传的文件,您可以在webapp中创建一个新文件夹,然后您可以将此位置用作:
File file=new File(session.getServletContext().getRealPath("/Your_Location"));
或者您可以使用任何绝对位置。