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();

}

}

}

表单:

ads"

enctype="multipart/form-data" target="_self" method="post">