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页面源码
<style type="text/css">
div.demo {
padding: 20px;
border: 1px solid #E5E5E5;
margin-bottom: 20px;
background-color: #FFFFFF;
}
</style>
<script language="javascript" src="/js/swfobject.js"></script>
<script type="text/javascript">
$(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
});
});
</script>
<div class="demo" style="display:none" id="upload_file">
<p><strong>文件上传</strong></p>
<input id="upload" name="upload" type="file" />
<a href="javascript:$('#upload').uploadifyUpload();">开始上传</a> | <a href="javascript:$('#upload').uploadifyClearQueue();">清除队列</a>
</div>
解释:
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源码
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";
}
效果图
- 大小: 23.8 KB
分享到:
相关推荐
在Struts2中,文件上传主要依赖于`struts2-core`库中的`org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest`类。当用户通过表单提交带有`enctype="multipart/form-data"`的文件时,Struts2会自动处理...
Struts2 Uploadify是一个在Java Web开发中常用的插件,它结合了Struts2框架和Uploadify jQuery插件,能够实现文件的多选、上传进度显示以及后台处理等功能。这个项目示例提供了一个完整的解决方案,使得用户在上传多...
【标题】"基于Struts2+Spring+MyBatis+Uploadify的多文件上传"是一个典型的Java Web项目,它利用了这些技术栈来实现高效、交互友好的文件上传功能。Struts2作为MVC框架,负责处理用户请求并协调整个应用的流程;...
这个简单的demo展示了如何在Struts2应用中集成jQuery Uploadify,以便提供用户友好的、多文件异步上传体验。下面我们将深入探讨这个知识点。 首先,我们来了解jQuery Uploadify。Uploadify是一个基于jQuery的插件,...
2. **Struts2下载**:在Struts2中,我们可以创建一个Action来处理文件下载请求。Action中可以设置一个属性来表示要下载的文件路径,然后通过`ActionSupport`的`setContentType`方法设置文件类型,`setHeader`设置...
在本文中,我们将深入探讨如何使用jQuery、Uploadify、Struts2和JSP技术实现一个图片批量上传的Demo。这个组合提供了高效、用户友好的文件上传解决方案,特别适合需要处理大量图片的Web应用。 首先,jQuery是一个轻...
Struts2和Uploadify是两种在Web开发中用于处理文件上传功能的技术。Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它提供了一种结构化的方式来组织和控制应用程序的流程。Uploadify则是一...
在Struts2中集成uploadify,我们需要完成以下步骤: 1. **引入依赖**:在项目中添加jQuery库以及uploadify插件的JavaScript和CSS文件。通常,这些文件会被放置在Web应用的静态资源目录下,如`/js`和`/css`。 2. **...
【jQuery Uploadify 3.2在Struts2中的应用】 jQuery Uploadify 3.2是一个流行的前端文件上传插件,它允许用户通过Ajax技术实现异步、多文件上传功能,大大提升了用户界面的交互性和用户体验。这个完整的工程是将...
在这个项目中,Struts2负责接收上传文件的请求,并将文件保存到服务器上。 其次,`EasyUI` 是一个基于jQuery的UI库,提供了丰富的组件,如表格、表单、对话框等,用于快速构建美观的Web界面。在“struts2+easyui+...
配置Struts2的Action,添加`@ResultType("stream")`注解,以处理二进制流,然后在execute方法中使用`ServletActionContext.getRequest().getInputStream()`获取文件流。 6. **Java处理文件**:在Java代码中,我们...
在Struts2中创建一个Action,用于接收文件上传请求。使用`@Result`注解定义结果类型,如`json`,并使用`@Parameters`注解获取前端发送的参数。 ```java import org.apache.struts2.interceptor.ParameterAware; ...
在IT行业中,前端开发经常会遇到文件上传的需求,而"jquery-java-ajax-uploadify上传文件"是一个经典的方法,结合了JavaScript库jQuery、Ajax技术以及Uploadify插件来实现这一功能。在这个过程中,我们将深入探讨...
在后端,Java开发者通常会使用Spring MVC或者Struts2等框架来接收上传的文件。以Spring MVC为例,你需要创建一个Controller方法来处理文件接收: ```java @RequestMapping(value = "/upload", method = Request...
在`uploadify`的配置中,我们需要指定上传的URL(即Struts的Action),文件类型限制,以及上传成功后的回调函数等参数。前端页面需要引入`uploadify`的相关脚本和样式,并正确配置相关元素,如`<input type="file">`...
Struts2和jQuery Uploadify是两个在Web开发中常见的组件,它们主要用于实现用户界面的文件上传功能。在本文中,我们将深入探讨这两个组件的工作原理、如何集成以及它们在实际项目中的应用。 首先,Struts2是一款...
在IT行业中,jQuery Uploadify是一款广泛使用的前端文件上传插件,它可以实现异步批量上传,大大提升了用户体验。本文将深入探讨如何将jQuery Uploadify与Java后端框架Struts2进行整合,以实现在Web项目中的文件上传...
在这个整合例子中,Struts2作为后端处理逻辑,接收由Uploadify上传的文件,并进行相应的处理,如存储、验证等。 3. **DWR (Direct Web Remoting)**:DWR是一种开源JavaScript库,它使得JavaScript可以直接调用Java...
通过以上步骤,你就能在Struts2环境中利用jQuery Uploadify实现一个功能完善的文件上传组件,其中包括下载进度条的功能。这个过程不仅提升了用户体验,也展示了现代Web开发中动态交互设计的魅力。