2024年5月29日发(作者:)
import ;
import .*;
import ption;
import riter;
import or;
import ;
import tException;
import rvlet;
import rvletRequest;
import rvletResponse;
import se;
import nt;
import edObject;
import xception;
import actory;
import hread;
import xtItem;
import n;
import em;
import leItemFactory;
import tFileUpload;
import ;
public class FileUpLoads extends HttpServlet {
// 要上传文件的文档的id
private String unid;
// 要上传文件的文档的divid;
private String divid;
// 保存文件的服务器名
private String svrname;
// 保存文件的数据库名
private String dbname;
// 保存文件的数据库表单名
private String formname;
// 保存文件名的域名
private String filename;
// 保存文件大小的域名
private String filesize;
// 保存临时文件的路径
private String path;
private Session ss;
private Database db;
private Document doc;
private RichTextItem rtitem;
/**
* Destruction of the servlet.
*/
public void destroy() {
y(); // Just puts "destroy" string in 0log
// Put your code here
}
/**
* The doGet method of the servlet.
*
* This method is called when a form has its tag value method equals to get.
*
* @param request
* the request send by the client to the server
* @param response
* the response send by the server to the client
* @throws ServletException
* if an error occurred
* @throws IOException
* if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse respons
e)
throws ServletException, IOException {
(request, response);
}
// 上传附件doPost():
public void doPost(HttpServletRequest request, HttpServletResponse respons
e)
throws ServletException, IOException {
tentType("text/html");
PrintWriter out = ter();
try {
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload file = new ServletFileUpload(factory);
eMax(-1);
eSizeMax(-1);
File realFile = null;
try {
// 上传文件,并解析出所有的表单字段,包括普通字段和文件字段
List list = equest(request);
FileItem fileitem=null;
n("dd");
for (Iterator it = or(); t();) {
fileitem = (FileItem) ();
//解析表单字的普通字段,即传过来的svrname和dbname,formname,path,
unid,divid参数
if (Field()){ //普通表单域
String fieldname = ldName(); //得到name属性的值
String value = ing("UTF-8");
if ("svrname".equals(fieldname)){
svrname = value;
} else if ("dbname".equals(fieldname)){
dbname = value;
} else if ("formname".equals(fieldname)){
formname = value;
} else if ("unid".equals(fieldname)){
unid = value;
} else if ("divid".equals(fieldname)){
divid = value;
} else if ("folder".equals(fieldname)){
path = value;
} else if("Filename".equals(fieldname)){
filename=value;
n(filename);
}
} else if(null != e() && 0!= e().trim().length()){
//把文件大小转换成KB,MB
double size=(e()/1024.0*100)/100.0;
String suffix="KB";
if(size>1000){
size=(size/1000.0*100)/100.0;
suffix="MB";
}
filesize=size+suffix;
String pa[] = (".nsf/");
File mkdir = new File(pa[1]);
if (!()) {
if (()) {
n("创建目录成功");
}
}
realFile = new File(pa[1], filename);
try {
// 写入数据
(realFile);
n("上传成功");
}
catch (Exception e) {
n("上传失败");
tackTrace();
}
}
}
();
} catch (Exception e) {
tackTrace();
}
hread();
ss = Session();
db = abase(svrname, dbname);
doc = Document();
eItemValue("Form", formname);
eItemValue("unid", unid);
eItemValue("divid", divid);
eItemValue("filename", filename);
eItemValue("filesize", filesize);
rtitem = RichTextItem("Body");//创建富文本域
bject(_ATTACHMENT, null, realFile
.getAbsolutePath(), "file"); //向rtitem富文本域插入olutePath()
路径的文件
(true, true);
();
recycleDominoObj(); //回收垃圾(自己的方法)
} catch (NotesException e) {
tackTrace();
} finally {
hread();
}
n("1"); //** 返回给flash的信息 以便flash接受成功 **
();
();
}
/**
* Initialization of the servlet.
*
* @throws ServletException
* if an error occurs
*/
public void init() throws ServletException {
unid = "";
divid = "";
svrname = "";
dbname = "";
formname = "";
filename = "";
filesize = "";
path = "";
}
// 回收Domino对象recycleDominoObj():
private void recycleDominoObj() {
try {
if (rtitem != null)
e();
if (doc != null)
e();
if (db != null)
e();
if (ss != null)
e();
} catch (NotesException e) {
tackTrace();
}
}
}
表单:


发布评论