jQuery Uploadify开发使用的语言是java。

详细的相关文档,可以参考官网的doc:http://www.uploadify.com/documentation/

官网的讲解还是很详细的,关键是要耐心看。虽说是英文,单有百度翻译。

看官网jQuery uploadify有基于flash和html5 的2个版本。我使用的是基于flash的。

Jsp页面引用的文件有:

<!-- 转诊单的附件商场页面 -->
<script type="text/javascript" src="${ctx}/res/skin/default/js/jquery-1.8.3.min.js"></script>
<link rel="stylesheet" type="text/css" href="${ctx}/res/skin/default/plugin/uploadify/js/uploadify.css">
<script type="text/javascript" src="${ctx}/res/skin/default/plugin/uploadify/js/jquery.uploadify.min.js"></script>

关于这个引用的js和css文件,个人建议使用官网给出的版本。

相关的jQuery Uploadify的代码:

<script type="text/javascript">
$(function() { $('#uploadify').uploadify({
'auto' : false,//是否选择文件后就上传,默认true。false有按钮触发
'swf' : '${ctx}/res/skin/default/plugin/uploadify/js/uploadify.swf',//引用的adobe flash player插件的文件
'uploader' : '${ctx}/ReferralInterface/saveAttachment?truntreatmentId=${truntreatmentId}',//访问后台的处理方法的路径${truntreatmentId}准备好的转诊单ID
'buttonText':'选择文件',//选择文件按钮的显示文字
'fileSizeLimit':'10MB',//允许最大文件上传的大小,可以是KB,MB,GB等。
'queueID':'fileQueue',//上传文件的队列存放dome的ID,一般为DIV
'multi':true,//设置adobe flash player插件一次选择多个文件,默认为true。false一次选择一个
'queueSizeLimit':10,//队列的demo中一次最大存放的文件数,不影响上传的数量,demo为queueID的div
'uploadLimit':100,//可以上传的最大文件数,超出触发事件:onuploaderror
'fileTypeExts':'*.png;*.jgp;*.pdf;*.doc;*.docx',//可以上传的文件类型
'onUploadSuccess':function(file,data,response){
//onUploadSuccess文件上传成功的事件,
//参数:file上传文件的对象,data服务器返回的参数,response执行的状态
//因为data返回的数据类型为string,所以使用eval函数转换为json
var json=eval("("+data+")"); $("#filelist").append("<tr><td>"+file.name+"</td><td><img src='${ctx}/res/skin/default/plugin/uploadify/image/cancel.png'/></td><td>下载</td></tr>"); } });
});
</script>

相关的标签代码:

<input type="file" name="uploadify" id="uploadify" />
<a href="javascript:$('#uploadify').uploadify('upload','*')">上传</a>
<div id="fileQueue"></div><br/>

注意:id="fileQueue"对应的是'queueID':'fileQueue'. ${ctx}是el表达式设置的基础路径变量。

后台代码是基于spring mvc,后台处理上传的代码:

/**
* 保存附件
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
@ResponseBody
@RequestMapping(value="/saveAttachment")
public Map<String,String> saveAttachment(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Map<String,String> map = new HashMap<String,String>();
//转诊单ID
String truntreatmentId=request.getParameter("truntreatmentId");
request.setCharacterEncoding("utf-8");
DiskFileItemFactory factory = new DiskFileItemFactory();
@SuppressWarnings("deprecation")
String path = request.getRealPath("/AttachmentUpload/"+truntreatmentId);
//判断文件夹是否存在不存在就创建文件夹
File file=new File(path);
if(!file.exists()){
file.mkdir();
}
factory.setRepository(new File(path));
factory.setSizeThreshold(1024 * 1024);
ServletFileUpload upload = new ServletFileUpload(factory);
try {
// 可以上传多个文件
List<FileItem> list = (List<FileItem>) upload.parseRequest(request); for (FileItem item : list) { if (!item.isFormField()) {
String name = item.getName();
OutputStream out = new FileOutputStream(new File(path, name));
InputStream in = item.getInputStream();
int length = 0;
byte[] buf = new byte[1024];
while ((length = in.read(buf)) != -1) {
out.write(buf, 0, length);
}
in.close();
out.close();
//将附件的数据添加到数据库下面部分代码是针对我当前的项目,请不要作为参考,到break位置
/** 将上传处理后的数据返回 **/
map.put("fileName", name); //实例化附件类
SAttachment sAttachment=new SAttachment(); //文件的转诊单ID
sAttachment.settruntreatmentId(truntreatmentId);
//文件的名称
sAttachment.setattachmentName(name);
//文件保存路径
sAttachment.setattachmentUrl(path+"\\"+name);
sAttachment=referrallInterfaceService.saveSAttachment(sAttachment);
//获取附件ID
map.put("attachmentId", sAttachment.getattachmentId());
//获取附件的服务器保存路径
map.put("attachmentUrl", sAttachment.getattachmentUrl());
break; }
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("出错了:" + e.getMessage());
} return map;
}

效果图:

选择文件图:

上传文件添加到列表:

上传图片:

Jquery Uploadify多文件上传实例的更多相关文章

  1. uploadify多文件上传实例--C#

    下载uploadify文件 http://www.uploadify.com/ HTML(视图) <html lang="zh-cn"> <head> &l ...

  2. jQuery插件AjaxFileUpload文件上传实现Javascript多文件上传功能

     Ajax file upload plugin是一个功能强大的文件上传jQuery插件,可自定义链接.或其它元素庖代传统的file表单上传结果,可实现Ajax动态提示文件上传 过程,同时支撑多文 ...

  3. uploadify多图片上传实例

    upload.php <html> <head> <meta http-equiv="Content-Type" content="text ...

  4. jquery组件WebUploader文件上传用法详解

    这篇文章主要为大家详细介绍了jquery组件WebUploader文件上传用法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 WebUploader是由Baidu WebFE(FEX)团队开发的一 ...

  5. PHP中,文件上传实例

    PHP中,文件上传一般是通过move_uploaded_file()来实现的.  bool move_uploaded_file ( string filename, string destinati ...

  6. PHP学习笔记--文件目录操作(文件上传实例)

    文件操作是每个语言必须有的,不仅仅局限于PHP,这里我们就仅用PHP进行讲解 php的文件高级操作和文件上传实例我放在文章的最后部分.--以后我还会给大家写一个PHP类似于网盘操作的例子 注意:阅读此 ...

  7. 转: 如何实现jQuery的Ajax文件上传

    [PHP文件上传] 在开始之前,我觉得是有必要把通WEB上传文件的原理简单说一下的.实际上,在这里不管是PHP,JSP,还是ASP处理上传的文件,其实都是WEB早已把文件上传到服务器了,我们只是运用上 ...

  8. ExtJS:文件上传实例

    ExtJS:文件上传实例 var ext_dateFormat = 'Y-m-d H:i:s'; var dateFormat = 'yyyy-MM-dd HH:mm:ss'; var date = ...

  9. 记录-Jquery uploadify文件上传实例

    原本做的是from表单的文件上传,后来因需要用ajax异步,so接触到了Jquery uploadify上传 贴上代码,以供参考 需要引入的js文件 <link href="../re ...

随机推荐

  1. HTML5 2D平台游戏开发#10Wall Jump

    这个术语不知道怎么翻译比较贴切,但并不妨碍对字面意思的理解,大概就是飞檐走壁.比如: 这是游戏<忍者龙剑传>中的场景,玩家可以通过操纵角色在墙面上移动并跳跃. 首先需要实现角色抓墙这一动作 ...

  2. 数据库操作事物的四大特性以及MySQL数据库的四种隔离级别

    1 .事物操作数据库的四大特性(ACID) 1.原子性 (Atomicity) 原子性:就是事物的所包含的所有操作,要么全部成功,要么全部失败回滚. 2.一致性 (Consistency) 一致性:简 ...

  3. 多媒体开发之--- live555 vs2010/vs2013下编译,使用,测试

    Ⅰ live555简介 Live555 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP.RTSP.SIP等的支持.Live555实现了对多种音视频编 ...

  4. MySQL查询优化程序

    1.利用EXPLAIN 语句,查看是否用到索引: EXPLAIN 2.下面的WHERE 子句说明了怎样进行这项工作.第一行中,优化程序将简化表达式4/2 为值2,然后使用my_col 上的索引快速地找 ...

  5. Laravel开发:Laravel核心——服务容器的细节特性

    前言 在前面几个博客中,我详细讲了 Ioc 容器各个功能的使用.绑定的源码.解析的源码,今天这篇博客会详细介绍 Ioc 容器的一些细节,一些特性,以便更好地掌握容器的功能. 注:本文使用的测试类与测试 ...

  6. ProjectManager Beta 7 项目管理器发布

    上次在Alpha阶段有一个可用版本Alpha 8也在这个博客发布了,传送:http://www.cnblogs.com/deali/p/ProjectManager.html ProjectManag ...

  7. A/B测试与灰度发布

    1.A/B测试与灰度发布的理论 产品是多维度的,设计体验.交互体验.系统质量.运营支持等等, 测试的目的是为了系统最终的交付,一套各方面都足够好的系统,而不是文档上定义的系统,系统是需要不断进化的. ...

  8. 浅谈<持续集成、持续交付、持续部署>(二)

    集成是指软件个人研发的部分向软件整体部分交付,以便尽早发现个人开发部分的问题:部署是代码尽快向可运行的开发/测试节交付,以便尽早测试:交付是指研发尽快向客户交付,以便尽早发现生产环境中存在的问题.如果 ...

  9. 合唱队形(LIS)

    合唱队形    OpenJ_Bailian - 2711 N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学不交换位置就能排成合唱队形. 合唱队形是指这样的一种队形:设K位同 ...

  10. Python菜鸟之路:Python基础-逼格提升利器:装饰器Decorator

    一.装饰器 装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志.性能测试.事务处理等. 装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量函数中与函数功能本身 ...