uploadfiy这个插件是基于js里面的jquery库写的。结合了ajax和flash,实现了这个多线程上传的功能。
现在最新版为3.2.
下面里例子是3.1,部分上传代码使用了自己的封装好的类与方法,jsp中大致上使用方式差不多。
1.解压资源包,将以下文件拷贝到项目资源文件夹里。
2.表单的引用(更多的参数:查看)
<!--Jquery-->
<script type="text/javascript" src="linkey/bpm/easyui/jquery.min.js"></script>
<!--FileUpload-->
<link rel="stylesheet" href="linkey/oa/uploadify/uploadify.css" type="text/css"></link>
<script type="text/javascript" src="linkey/oa/uploadify/jquery.uploadify-3.1.min.js"></script>
<script>$(function() {//加载上传附件控件
    $("#uploadify").uploadify({  'height'        : 18,   'width'         : 60,    'buttonText'    : '浏 览',  'swf'           : 'linkey/oa/uploadify/uploadify.swf',  'uploader'      : 'rule?wf_num=R_Mail_B002&DocUnid='+WF_DocUnid,  'auto'          : true,'onUploadStart' : function(file){//开始上传..
            mask();},'onUploadSuccess':function(file) {  //上传成功后处理
            unmask();}});});
</script>
<body>
    <table><tr><td style="word-break: break-all;" valign="middle">附件</td><td valign="middle"><div id="fileQueue"></div><p><input id="uploadify" name="uploadify" type="file"/></p></td></tr>
    </table>
</body>

3.上传处理程序

package cn.linkey.rulelib.Mail;import java.util.*;import java.io.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.*;
import org.apache.commons.fileupload.disk.*;
import org.apache.commons.fileupload.servlet.*;
/*** @RuleName:上传邮件附件* @author  admin* @version: 8.0*/
final public class R_Mail_B002 {@Overridepublic String run(HashMap<String, Object> params) throws Exception  {//params为运行本规则时所传入的参数HttpServletRequest request = BeanCtx.getRequest();String DocUnid = BeanCtx.g("DocUnid");String name = "";       //随机文件名称String fileName = "";   //文件原始名称String extName = "";    //扩展名//上传文件目录(以月份+Userid为目录)String PATH = "/uploads/"+DateUtil.getNow("yyyyMM")+"/"+BeanCtx.getUserid()+"/";String savePath = request.getServletContext().getRealPath(""); //this.getServletConfig().getServletContext().getRealPath("");
        savePath = savePath + PATH;File f1 = new File(savePath);if (!f1.exists()) {f1.mkdirs();}DiskFileItemFactory fac = new DiskFileItemFactory();ServletFileUpload upload = new ServletFileUpload(fac);upload.setHeaderEncoding("utf-8");List fileList = null;try {fileList = upload.parseRequest(request);} catch (FileUploadException ex) {return "";}Iterator<FileItem> it = fileList.iterator();while (it.hasNext()) {FileItem item = it.next();if (!item.isFormField()) {name = item.getName();fileName = name;String sizeUnit = "KB";long size = 0;if(item.getSize()>1024*1024*1024){size = item.getSize()/1024/1024/1024;sizeUnit = "GB";}else if(item.getSize()>1024*1024){size = item.getSize()/1024/1024;sizeUnit = "MB";}else{size = item.getSize()/1024;}String type = item.getContentType();if (name == null || name.trim().equals("")) {continue;}// 扩展名格式:if (name.lastIndexOf(".") >= 0) {extName = name.substring(name.lastIndexOf("."));}File file = null;do {// 生成文件名:name = UUID.randomUUID().toString();file = new File(savePath + name + extName);} while (file.exists());File saveFile = new File(savePath + name + extName);try {item.write(saveFile);SaveFileInfo(DocUnid,PATH,fileName,size+sizeUnit,name+extName);} catch (Exception e) {e.printStackTrace();}}}return "";}//保存附件信息到邮箱附件表public void SaveFileInfo(String docUnid,String filePath,String fileName,String fileSize,String fileRandomUUID){Document nDoc = new Document("Mail_Attachments");nDoc.s("DocUnid",docUnid);nDoc.s("FilePath",filePath);nDoc.s("FileName",fileName);nDoc.s("FileSize",fileSize);nDoc.s("FileRandomUUID",fileRandomUUID);nDoc.save();}
}

转载于:https://www.cnblogs.com/zealon/p/4319223.html

Uploadify jsp使用示例相关推荐

  1. jsp过滤器示例_Java 8过滤器,地图,收集和流示例

    jsp过滤器示例 大家好,许多读者给我发了电子邮件,写了一篇有关Java 8的地图和过滤器功能的文章,因为他们发现它们难以理解和使用. 即使我以前同时写过有关map()和filter()的博客,我仍在 ...

  2. jsp servlet示例_Servlet和JSP中的文件上传示例

    jsp servlet示例 使用Servlet和JSP将文件上传到服务器是Java Web应用程序中的常见任务. 在对Servlet或JSP进行编码以处理文件上传请求之前,您需要了解一点有关HTML和 ...

  3. jsp el 表达式_JSP表达式语言– JSP EL示例教程

    jsp el 表达式 Today we will look into JSP Expression Language or JSP EL Example tutorial. 今天,我们将研究JSP表达 ...

  4. jsp servlet示例_Java Servlet Cookies示例

    jsp servlet示例 Welcome to Java Servlet Cookies example. Cookies are used a lot in web client-server c ...

  5. 跨域解决方案CROS最简单演示——JSP演示示例

    关于跨域访问的基本概念可以参考: 跨域访问的相关概念及解决方法 CORS ,Cross-Origin Resource Sharing,跨域资源共享.使用CORS可以实现使用AJAX访问跨域的资源. ...

  6. jquery ajax示例_jQuery AJAX JSP Servlet Java示例

    jquery ajax示例 Ajax in Java JSP Servlet based web applications are very common. Recently I have writt ...

  7. JAVA WEB快速入门之从编写一个JSP WEB网站了解JSP WEB网站的基本结构、调试、部署...

    接上篇<JAVA WEB快速入门之环境搭建>,在完成了环境搭建后(JDK.Tomcat.IDE),现在是万事具备,就差写代码了,今天就来从编写一个JSP WEB网站了解JSP WEB网站的 ...

  8. javaweb学习总结(二十四)——jsp传统标签开发

    一.标签技术的API 1.1.标签技术的API类继承关系 二.标签API简单介绍 2.1.JspTag接口 JspTag接口是所有自定义标签的父接口,它是JSP2.0中新定义的一个标记接口,没有任何属 ...

  9. java8生成jsp页面内容组装到jsp中_JAVA WEB快速入门之从编写一个JSP WEB网站了解JSP WEB网站的基本结构、调试、部署...

    接上篇<JAVA WEB快速入门之环境搭建>,在完成了环境搭建后(JDK.Tomcat.IDE),现在是万事具备,就差写代码了,今天就来从编写一个JSP WEB网站了解JSP WEB网站的 ...

最新文章

  1. java web 哪些方法不能被从写_JAVA_WEB面试题
  2. 对接接口文档_接口自动化测试框架设计思路
  3. Python基础----python的使用(二)
  4. python科学计算基础教程pdf下载-Python科学计算 PDF 第2版
  5. MySQL Access denied错误的缘故情由
  6. 【AWSL】之Linux进程和计划任务管理(ps、top、pgrep、pstree、pkill、at、crontab)
  7. EMQX源码阅读笔记
  8. 【网络安全工程师面试合集】安全角度谈UDP、TCP和DHCP协议
  9. 11月苹果移动设备份额TOP10:iPhone 6上榜居六
  10. 《西瓜书》第六章 公式6.6 凸二次规划问题
  11. 徐思201771010132《面向对象程序设计(java)》第十六周学习总结
  12. c语言多文件递归设计数独,用于解决数独的递归方法
  13. 详解区块链P2P网络
  14. 我的阿里巴巴图标公开库
  15. 工程师在创业团队的技术挑战
  16. Java树状图展示的实现
  17. 【python】根据pixiv网站的图片url下载图片到本地
  18. 路由器工作原理及其主要部件详解
  19. 1月22日服务器例行维护公告,1月22日维护更新公告
  20. 工业智能网关BL110应用之64:如何实现智能楼宇控制BACnet 接入金鸽MQTT云平台

热门文章

  1. element-ui的input加单位符号
  2. Mysql报错Fatal error occurred in the transaction branch - check your data for consistency
  3. Android开发笔记(五十四)数据共享接口ContentProvider
  4. 小学计算机知识点,小学信息技术单元知识点目录介绍
  5. nohup + 保证服务后台运行不中断
  6. 并查集图冲突hdu1272
  7. 计算机视觉与模式识别代码合集第二版three
  8. javaweb学习总结(四十六)——Filter(过滤器)常见应用
  9. 推荐几本jquery书
  10. Producer向Broker发送心跳的作用-知识点