紧急求助!MyEclipse开发的JSP网站文件夹经常丢失
如题...
开完完成的网站,其中有一个目录是存储上传文件的文件夹。
用common-uploadFiles上传的文件。
但是现在发现,过几天我上传的文件夹就消失了...汗~这些文件在数据库中的数据依然存在
就是说除了这个文件夹其他的一切安好...
求教大虾们怎样解决?这可能是什么原因造成的呢?
附 -文件上传的那个Servlet:
package upload;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import dao.MusicDAO;
import bean.Music;
public class FileUploadServlet extends HttpServlet {
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doPost(req, resp);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
MusicDAO musicDAO=new MusicDAO();
response.setCharacterEncoding("gb2312");
String uploadPath=this.getServletContext().getRealPath("")+"\\upload"; //上传文件的目录
Music file;
try {
file = upload(request, response, uploadPath);
musicDAO.addMusic(file);
PrintWriter out=response.getWriter();
out.println("<script language='javascript'>alert('感谢您的分享!');</script>");
out.println("<script language='javascript'>window.close();</script>");
} catch (Exception e) {
System.out.println("请确认文件格式或大小是否合法!");
response.sendRedirect("index.jsp");
}
}
//上传文件方法
public Music upload(HttpServletRequest request, HttpServletResponse response,String uploadPath)
throws Exception {
Music file=null;
String tempPath=uploadPath+"\\buffer"; // 临时文件目录
//初始化文件夹
File uploadFile = new File(uploadPath);
if (!uploadFile.exists()) {
uploadFile.mkdirs();
}
File tempPathFile = new File(tempPath);
if (!tempPathFile.exists()) {
tempPathFile.mkdirs();
}
// 创建表单工厂
DiskFileItemFactory factory = new DiskFileItemFactory();
// Set factory constraints
factory.setSizeThreshold(4096); // 设置缓冲区大小,这里是4kb
factory.setRepository(tempPathFile);// 设置缓冲区目录
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
// Set overall request size constraint
upload.setSizeMax(10*1024*1024); // 设置最大文件尺寸,这里是10MB
List<FileItem> items = upload.parseRequest(request);// 得到form所有数据
Iterator<FileItem> i = items.iterator();
while (i.hasNext()) {
FileItem fi = (FileItem) i.next();
//取得file外其他类型的参数
if(fi.isFormField()){
if(fi.getFieldName().equals("music_name"))
file.setMusic_name(fi.getString("gb2312"));
if(fi.getFieldName().equals("music_singer"))
file.setMusic_singer(fi.getString("gb2312"));
if(fi.getFieldName().equals("music_poster"))
file.setMusic_poster(fi.getString("gb2312"));
if(fi.getFieldName().equals("music_postip"))
file.setMusic_postip(fi.getString("gb2312"));
if(fi.getFieldName().equals("music_sort"))
file.setMusic_sort(fi.getString("gb2312"));
if(fi.getFieldName().equals("music_info")){
String music_info=fi.getString("gb2312").replace("\n", "<br/>");
file.setMusic_info(music_info);
}
}
String fileName = fi.getName();
if (fileName != null && CheckType.checkType(fileName)) {
file=new Music();
Date date=new Date();
//获取时间字符串用来做urlName
String urlName =date.toLocaleString().replace(":", "");
//创建存储到空间的文件
File savedFile = new File(uploadPath, urlName+".mp3");
//存储File的属性
String ip=request.getRemoteAddr();
file.setMusic_postip(ip);
file.setMusic_url(savedFile.getName());
//System.out.println("上传路径文件名:"+fullFile.getName());
fi.write(savedFile);
}
}
return file;
}
}