ext上传组件的servlet服务端程序

 

package com.fh.servlet;

import java.io.File;
import java.io.IOException;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Iterator;
import java.util.List;
import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.commons.fileupload.*;

public class UploadServlet extends HttpServlet {
/**
*
*/

private static final long serialVersionUID = 7440302204266787092L;

String uploadPath 
= "d:\\uploadtest\\"// 用于存放上传文件的目录

String tempPath 
= "d:\\tmp\\"// 用于存放临时文件的目录

public UploadServlet() {
super();
System.out.println(
"文件上传启动");
}


public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}


public void init() throws ServletException {
System.out.println(
"文件上传初始化");
}


public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
try {
System.out.println(
"开始进行文件上传");
DiskFileUpload fu 
= new DiskFileUpload();
fu.setSizeMax(
4194304); // 设置最大文件尺寸,这里是4MB
fu.setSizeThreshold(4096); // 设置缓冲区大小,这里是4kb
fu.setRepositoryPath(tempPath); // 设置临时目录
List fileItems = fu.parseRequest(request); // 得到所有的文件:
Iterator i = fileItems.iterator();
// 依次处理每一个文件:
while (i.hasNext()) {
FileItem fi 
= (FileItem) i.next();
String fileName 
= fi.getName();// 获得文件名,这个文件名包括路径:
if (fileName != null{
// 在这里可以记录用户和文件信息
// 此处应该定义一个接口(CallBack),用于处理后事。
// 写入文件a.txt,你也可以从fileName中提取文件名:
String extfile = fileName.substring(fileName.indexOf("."));

Timestamp now 
= new Timestamp((new java.util.Date())
.getTime());
SimpleDateFormat fmt 
= new SimpleDateFormat(
"yyyyMMddHHmmssSSS");
String pfileName 
= fmt.format(now).toString().trim();
System.out.println(uploadPath 
+ pfileName + extfile);
fi.write(
new File(uploadPath + pfileName + extfile));
}

}

response.setContentType(
"text/html;charset=utf-8");
response.getWriter().print(
"{success:true,message:'上传成功'}");
// response.getWriter().print("{success:true,msg:'成功'}");
// 跳转到上传成功提示页面
}
 catch (Exception e) {
e.printStackTrace();
response.getWriter().print(
"{success:flase,message:'失败'}");
// 可以跳转出错页面
}

}

}


posted @ 2008-05-22 22:24  meetrice  阅读(730)  评论(0编辑  收藏  举报