首页 java domino 附件上传例子(servlet)

java domino 附件上传例子(servlet)

举报
开通vip

java domino 附件上传例子(servlet)import java.io.File; import java.lang.*; import java.io.IOException; import java.io.PrintWriter; import java.util.Iterator; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http....

java domino 附件上传例子(servlet)
import java.io.File; import java.lang.*; import java.io.IOException; import java.io.PrintWriter; 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 lotus.domino.Database; import lotus.domino.Document; import lotus.domino.EmbeddedObject; import lotus.domino.NotesException; import lotus.domino.NotesFactory; import lotus.domino.NotesThread; import lotus.domino.RichTextItem; import lotus.domino.Session; import org.apache.commons.Fileupload.FileItem; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; import java.lang.Math; public class FileUpLoads extends HttpServlet { // 要上传文件的文档的id private String unid; // 要上传文件的文档的divid; private String divid; // 保存文件的服务器名 private String svrname; // 保存文件的数据库名 private String dbname; // 保存文件的数据库 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 单名 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() { super.destroy(); // 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 response) throws ServletException, IOException { this.doPost(request, response); } // 上传附件doPost(): public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); try { DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload file = new ServletFileUpload(factory); file.setSizeMax(-1); file.setFileSizeMax(-1); File realFile = null; try { // 上传文件,并解析出所有的表单字段,包括普通字段和文件字段 List list = file.parseRequest(request); FileItem fileitem=null; System.out.println("dd"); for (Iterator it = list.iterator(); it.hasNext();) { Fileitem = (FileItem) it.next(); //解析表单字的普通字段,即传过来的svrname和dbname,formname,path,unid,divid参数 if (fileitem.isFormField()){ //普通表单域 String fieldname = fileitem.getFieldName(); //得到name属性的值 String value = fileitem.getString("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; System.out.println(filename); } } else if(null != fileitem.getName() && 0!= fileitem.getName().trim().length()){ //把文件大小转换成KB,MB double size=Math.round(fileitem.getSize()/1024.0*100)/100.0; String suffix="KB"; if(size>1000){ size=Math.round(size/1000.0*100)/100.0; suffix="MB"; } Filesize=size+suffix; String pa[] = path.split(".nsf/"); File mkdir = new File(pa[1]); if (!mkdir.exists()) { if (mkdir.mkdirs()) { System.out.println("创建目录成功"); } } realFile = new File(pa[1], filename); try { // 写入数据 fileitem.write(realFile); System.out.println("上传成功"); } catch (Exception e) { System.out.println("上传失败"); e.printStackTrace(); } } } fileitem.delete(); } catch (Exception e) { e.printStackTrace(); } NotesThread.sinitThread(); ss = NotesFactory.createSession(); db = ss.getDatabase(svrname, dbname); doc = db.createDocument(); doc.replaceItemValue("Form", formname); doc.replaceItemValue("unid", unid); doc.replaceItemValue("divid", divid); doc.replaceItemValue("Filename", filename); doc.replaceItemValue("filesize", filesize); rtitem = doc.createRichTextItem("Body");//创建富文本域 rtitem.embedObject(EmbeddedObject.EMBED_ATTACHMENT, null, realFile .getAbsolutePath(), "file"); //向rtitem富文本域插入realFile.getAbsolutePath()路径的文件 doc.save(true, true); realFile.delete(); recycleDominoObj(); //回收垃圾(自己的方法) } catch (NotesException e) { e.printStackTrace(); } finally { NotesThread.stermThread(); } out.println("1"); //** 返回给flash的信息以便flash接受成功 ** out.flush(); out.close(); } /** * 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) rtitem.recycle(); if (doc != null) doc.recycle(); if (db != null) db.recycle(); if (ss != null) ss.recycle(); } catch (NotesException e) { e.printStackTrace(); } } } 表单:
本文档为【java domino 附件上传例子(servlet)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_314871
暂无简介~
格式:doc
大小:30KB
软件:Word
页数:0
分类:互联网
上传时间:2019-08-24
浏览量:22