Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示。而且是Ajax的,省去了自己写Ajax上传功能的麻烦。不过官方提供的实例时php版本的,本文将详细介绍Uploadify在J2EE中的使用。
1.引入头文件(注意一定要把jQuery放在前面):
注意:uploader是上传的Action路径名;formData是传递给Action的参数列表。
<script src="lib/jquery-1.8.3.min.js"></script> <script src="lib/uploadify/jquery.uploadify.min.js" type="text/javascript"></script> <script type="text/javascript"> $(function() { $('#projectfile').uploadify({ 'swf' : 'lib/uploadify/uploadify.swf', 'uploader' : 'ProjectfileAdd.action', 'formData': {'projectid': '${project.id}'}, 'fileObjName' : 'file', 'fileSizeLimit' : '0', 'onQueueComplete' : function(queueData) { alert(queueData.uploadsSuccessful + ' files were successfully uploaded.'); } }); }); </script>
2.需要上传的地方添加一个<form>,里面有一个<input>(注意其id属性):
<form> <input id="projectfile" name="file" type="file" ></input> </form>
3.看一下<input>效果如下,还挺美观的
4.后台的Action就是一个普通的上传文件的Action,示例如下:
package dc.action.projectfile; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.sql.Timestamp; import java.util.Date; import java.util.Map; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; import dc.bean.Project; import dc.bean.Projectfile; import dc.bean.User; import dc.service.ProjectService; import dc.service.ProjectfileService; public class ProjectfileAdd extends ActionSupport { private static final int FILE_SIZE=16*1024; private int projectid; private ProjectService projectService; private ProjectfileService projectfileService; private File file; private String fileFileName; private String fileContentType; public int getProjectid() { return projectid; } public void setProjectid(int projectid) { this.projectid = projectid; } public ProjectService getProjectService() { return projectService; } public void setProjectService(ProjectService projectService) { this.projectService = projectService; } public ProjectfileService getProjectfileService() { return projectfileService; } public void setProjectfileService(ProjectfileService projectfileService) { this.projectfileService = projectfileService; } public File getFile() { return file; } public void setFile(File file) { this.file = file; } public String getFileFileName() { return fileFileName; } public void setFileFileName(String fileFileName) { this.fileFileName = fileFileName; } public String getFileContentType() { return fileContentType; } public void setFileContentType(String fileContentType) { this.fileContentType = fileContentType; } public static int getFileSize() { return FILE_SIZE; } //写入文件时候用到的函数 public void upLoadFile(File source,File target){ InputStream in=null; OutputStream out=null; try{ in=new BufferedInputStream(new FileInputStream(source),FILE_SIZE); out=new BufferedOutputStream(new FileOutputStream(target),FILE_SIZE); //in-->image-->out byte[] image=new byte[FILE_SIZE]; while(in.read(image)>0){ out.write(image); } }catch(IOException ex){ ex.printStackTrace(); }finally{ try{ in.close(); out.close(); }catch(IOException ex){ ex.printStackTrace(); } } } public String execute() { try { Projectfile projectfile=new Projectfile(); projectfile.setName(fileFileName); Project project=projectService.ReadByID(projectid); projectfile.setProject(project); projectfile.setModifytime( new Timestamp(new Date().getTime())); String filepath="file/"+project.getId()+"/"+fileFileName; projectfile.setFilepath(filepath); projectfile.setFilesize(file.length()); //不是连接到外网的文件 projectfile.setFilelink(0); projectfile.setContenttype(fileContentType); //--记录编辑人------------------ ActionContext context = ActionContext.getContext(); Map sessionMap = context.getSession(); User currentuser=(User)sessionMap.get("user"); projectfile.setUser(currentuser); //------------------------------ //projectfile.setFilesize(1); projectfileService.save(projectfile); //文件上传,存至硬盘 //ServletActionContext.getServletContext().getRealPath获得webRoot绝对路径 String realfilePath=ServletActionContext.getServletContext().getRealPath("file") +"/"+project.getId()+"/"+this.fileFileName; File targetFile=new File(realfilePath); targetFile.getParentFile().mkdirs(); upLoadFile(file,targetFile); } catch (Exception ex) { ex.printStackTrace(); return ERROR; } return SUCCESS; } }
Uploadify官方网站:http://www.uploadify.com/
Uploadify下载:http://download.csdn.net/detail/leixiaohua1020/6376463
相关推荐
**jQuery批量上传插件Uploadify**是一款非常实用的前端文件上传工具,它允许用户通过Flash技术实现批量、异步的文件上传。Uploadify提供了一系列可配置的参数,使其能够适应各种上传需求,同时具备良好的用户体验。 ...
在IT行业中,jQuery Uploadify.js是一款非常流行的前端文件上传插件,它允许用户通过异步方式上传文件到服务器,提供了一种友好的用户体验。然而,随着浏览器版本的更新,一些较旧的插件可能不再兼容新的浏览器,...
`jQuery Uploadify`是一款基于jQuery的插件,它提供了一个优雅、用户友好的方式来实现文件上传功能,支持多文件选择、进度条显示以及异步上传等特性。本Demo将展示如何将`jQuery Uploadify`与Java的Servlet技术进行...
在使用jQuery Uploadify进行文件上传时,后端通常采用Java技术来接收和处理上传的文件。Java中的主要涉及的技术和组件包括: 1. **Servlet**:作为HTTP请求的处理者,接收前端通过Uploadify发送的POST请求。 2. **...
《jQuery Uploadify与Java结合实现文件上传详解》 在网页应用中,文件上传功能是必不可少的一部分,而jQuery Uploadify是一款非常流行的前端文件上传插件,它提供了丰富的自定义选项和友好的用户界面。本文将深入...
`jQuery.uploadify`是一个广泛使用的JavaScript插件,用于实现文件的异步上传。在提供的文件列表中,`uploadify.css`和`jquery.uploadify-3.1.js`(以及其压缩版`jquery.uploadify-3.1.min.js`)是这个插件的核心...
在本示例中,我们将关注"JSP使用文件上传插件uploadify"的主题,这是一个利用uploadify插件实现AJAX文件上传的教程。uploadify是一款流行且美观的JavaScript插件,它为网页提供了流畅的多文件上传体验。 首先,我们...
本文将深入探讨如何使用jQuery Uploadify与Java后端配合,实现高效稳定的多文件上传。 ### 1. jQuery Uploadify 插件简介 jQuery Uploadify是基于jQuery的文件上传组件,它通过Flash和HTML5技术实现了异步文件上传...
本示例探讨了如何结合jQuery Uploadify插件与Apache Fileupload库来实现这一功能,主要面向Java后端开发。这里我们将深入讲解这两个组件的工作原理、集成过程以及关键知识点。 1. jQuery Uploadify 插件: jQuery ...
在IT行业中,jQuery Uploadify是一款广泛使用的前端文件上传插件,它可以实现异步批量上传,大大提升了用户体验。本文将深入探讨如何将jQuery Uploadify与Java后端框架Struts2进行整合,以实现在Web项目中的文件上传...
Uploadify 是一个基于jQuery的开源文件上传插件,它通过异步方式上传文件,提供用户友好的界面和多种自定义选项。Uploadify 支持多种浏览器,包括IE6+、Firefox、Chrome、Safari 和 Opera。 2. **多文件上传** ...
在Java环境中使用Uploadify,我们可以构建一个强大的文件上传系统,这篇文章将详细介绍如何在Java后端与Uploadify前端插件配合工作。 首先,我们需要在前端页面引入Uploadify插件的相关资源,包括JavaScript文件、...
**jQuery Uploadify** 是一个基于jQuery的文件上传插件,它允许用户在Web应用程序中实现异步、批量或单个文件上传功能。该插件以其易用性、自定义性和高性能而受到开发者们的欢迎。在描述中提到,可能有些初学者在...
Uploadify是一款优秀的前端文件上传插件,版本3.1提供了批量上传功能,极大地提高了用户上传多文件的效率。本文将深入探讨如何在Java环境中结合Uploadify3.1实现文件的批量上传。 首先,理解Uploadify3.1的工作原理...
jQuery Uploadify是一款强大的JavaScript插件,它允许用户进行多文件上传,同时提供进度条显示,极大地提升了文件上传的用户体验。本文将详细介绍如何在Java Web工程中实现jQuery Uploadify的多文件上传功能,并解析...
在这个场景中,我们将探讨如何使用Servlet结合jQuery的uploadify插件来实现附件的上传。Servlet是Java Web应用中的服务器端组件,用于接收客户端请求并返回响应。jQuery则是一种强大的JavaScript库,它简化了DOM操作...
`jQuery Uploadify`是一款流行的JavaScript插件,用于实现文件的多选上传功能。它通过Flash或HTML5技术,提供了一种用户友好的界面,让用户能够方便地上传多个文件到服务器。在本文中,我们将深入探讨`jQuery ...
首先,jQuery.uploadify的核心特性在于其异步上传功能。在传统方式下,用户需要等待一个文件上传完成才能提交下一个,而uploadify则允许用户同时上传多个文件,极大地提升了上传效率。这种并行处理的方式显著减少了...
首先,jQuery uploadify是一款优秀的前端文件上传插件,它允许用户通过Ajax方式异步上传文件,提供了友好的用户体验,如进度条显示、多文件上传等。然而,官方提供的示例主要是基于PHP的,对于Java开发者来说,寻找...
`uploadify`则是基于jQuery的一个插件,它通过异步方式实现了文件的批量上传,提供了一套完整的前端上传界面和控制逻辑。这个插件的特点在于其灵活性和自定义性,开发者可以根据需求调整上传按钮样式、进度条显示、...