Struts2中使用uploadify上传文件组件

Struts2中使用uploadify上传文件组件
2009年11月20日
  Uploadify是一个基于Jquery的文件上传组件,官网http://www.uploadify.com/可以在官网获得该组件,运行演示示例,下载帮助文档。
  作为Web前端的增强技术,Jquery给用户以更好的体验和交互,增强富互联网客户端特效,而基于Jquery的Uploadify更是将文件上传效果发挥到极致。
  一个项目下,需要开发一个上传文件的应用,项目基于Struts2,传统使用input标签的file属性上传是同步的,没有实时效果的。为了增强体验,一个偶然的机会让我发现了这个组件Uploadify。但是官方仅提供基于PHP的上传源码,那么在Struts2下的,就得自行研究了。
  废话不多说,让我们一步一步领略Uploadify带来的不同感受。
  1.支持的文件
  jquery.js,jquery.uploadify.js,uploadify.css;怎获得就不多说了。
  2.HTML页面源码
  Html代码
  
  
  [b][/b] div.demo { padding: 20px; border: 1px solid #E5E5E5; margin-bottom: 20px; background-color: #FFFFFF; } [b][/b] div.demo { padding: 20px; border: 1px solid #E5E5E5; margin-bottom: 20px; background-color: #FFFFFF;}
  Js代码
  
  
   $(document).ready([b]function[/b]() { $("#upload").uploadify({ 'uploader' : '${base}/images/swf/uploadify.swf', 'script' : 'disk!uploadFile.action', 'cancelImg' : '${base}/images/cancel.png', 'fileDataName' : 'upload', 'folder' : '/', 'displayData' : 'speed', 'buttonText' : 'Browse Files', 'auto' : [b]false[/b], 'multi' : [b]true[/b], 'sizeLimit' : 1073741824, 'simUploadLimit' : 3 }); }); $(document).ready(function() { $("#upload").uploadify({ 'uploader' : '${base}/images/swf/uploadify.swf', 'script' : 'disk!uploadFile.action', 'cancelImg' : '${base}/images/cancel.png', 'fileDataName' : 'upload', 'folder' : '/', 'displayData' : 'speed', 'buttonText' : 'Browse Files', 'auto' : false, 'multi' : true, 'sizeLimit' : 1073741824, 'simUploadLimit' : 3 });});
  Html代码
  
  
  [b][/b] [b][/b]文件上传[b][/b] [b][/b] [b][/b]开始上传[b][/b] | [b][/b]清除队列[b][/b] [b][/b] 文件上传开始上传 | 清除队列
  解释:
  1).css是文件上传框的效果,不多说
  2).重点是JS代码,基于Jquery的技术,函数头就不多解释了。
  uploader:是组件自带的flash,用于打开选取本地文件的按钮
  scrpit:处理上传的路径,这里使用Struts2,当然是XXX.action
  cancelImg:取消上传文件的按钮图片,就是个叉叉
  fileDataName:和input的name属性值保持一致就好,Struts2就能处理了
  folder:没研究这个,根据帮助文档就写上/
  displayData:有speed和percentage两种,一个显示速度,一个显示完成百分比
  buttonText:出现在Flash上的文字,暂时还不支持中文
  auto:是否选取文件后自动上传
  multi:是否支持多文件上传
  sizeLimit:限制文件的大小,这里是1G,做测试
  simUploadLimit:每次最大上传文件数
  3).最后的html段提供两个功能按钮,点击开始上传和清除上传队列
  3.Action源码
  Java代码
  
  
  [b]private[/b] File upload;//和HTML中input标记name同名 [b]private[/b] String uploadFileName;//Struts2拦截器获得的文件名 [b]public[/b] [b]void[/b] setUpload(File upload) { [b]this[/b].upload = upload; } [b]public[/b] [b]void[/b] setUploadFileName(String uploadFileName) { [b]this[/b].uploadFileName = uploadFileName; } [b]public[/b] String uploadFile() [b]throws[/b] Exception { //省略数据处理步骤 upload.renameTo([b]new[/b] File(realURL)); //省略数据库写入步骤 [b]return[/b] "uploadFile"; } private File upload;//和HTML中input标记name同名 private String uploadFileName;//Struts2拦截器获得的文件名 public void setUpload(File upload) { this.upload = upload; } public void setUploadFileName(String uploadFileName) { this.uploadFileName = uploadFileName; }public String uploadFile() throws Exception { //省略数据处理步骤 upload.renameTo(new File(realURL)); //省略数据库写入步骤 return "uploadFile"; }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值