紧急求助!MyEclipse开发的JSP网站文件夹经常丢失

royaki 2009-07-26 05:14:35
如题...
开完完成的网站,其中有一个目录是存储上传文件的文件夹。
用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;
}
}
...全文
135 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
royaki 2009-07-26
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sangshusen_1988 的回复:]
肯定是删除部署,然后又重新部署了吧
[/Quote]

但是我的部署文件明明没有删除啊...难道它自己又重新部署了一遍...
sangshusen_1988 2009-07-26
  • 打赏
  • 举报
回复
肯定是删除部署,然后又重新部署了吧
ZhaoHuiZiXin 2009-07-26
  • 打赏
  • 举报
回复
文件一般都上传在tomcat部署文件中,一旦tomcat部署文件被删除,下一次再部署的时候,
文件就不在了,只能重新上传。
royaki 2009-07-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hey2009 的回复:]
你是不是重新又部署了一次
[/Quote]
就算重新部署也应该不会影响我的文件夹吧?...
royaki 2009-07-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hey2009 的回复:]
你是不是重新又部署了一次
[/Quote]
就算重新部署也应该不会影响我的文件夹吧?...
hey2009 2009-07-26
  • 打赏
  • 举报
回复
你是不是重新又部署了一次

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧