<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ page isELIgnored="false" %> <%@ include file="../../../WEB-INF/jsp/common/inculde/cdn.jsp" %> <!DOCTYPE html> <html lang="en"> <head> <link rel="stylesheet" type="text/css" href="<%=cdn%>/demo_utils/jsp/uploadify/css/uploadify.css"> <script type="text/javascript" src="<%=cdn%>/demo_utils/jsp/uploadify/js/jquery-1.7.2.min.js"></script> <script type="text/javascript" src="<%=cdn%>/demo_utils/jsp/uploadify/js/jquery.uploadify.js"></script> <script type="text/javascript" src="<%=cdn%>/demo_utils/jsp/uploadify/js/jquery.uploadify.min.js"></script> <script type="text/javascript"> $(function () { //setTimeout 解决chrome 下浏览器崩溃的问题 setTimeout(function(){ $('#uploadify').uploadify( { uploader: '<%=cdn%>/uploadify/!uploadFiles.action', swf: '<%=cdn%>/demo_utils/jsp/uploadify/js/uploadify.swf', cancelImg: "<%=cdn%>/demo_utils/jsp/uploadify/img/uploadify-cancel.png", width: 60, // 按钮的宽度 height: 23, // 按钮的高度 buttonText: "上传", // 按钮上的文字 buttonCursor: 'hand', // 按钮的鼠标图标 fileObjName: 'uploadify', // 上传参数名称 后台<span style="color:#ff0000;">action里面的属性uploadify</span> // 两个配套使用 fileTypeExts: "*.*", // 扩展名 fileTypeDesc: "请选择 jpg png txt 文件", // 文件说明 auto: false, // 选择之后,自动开始上传 multi: true, // 是否支持同时上传多个文件 queueSizeLimit: 5 // 允许多文件上传的时候,同时上传文件的个数 }); },10) }); </script> </head> <body> <input type="file" name="uploadify" id="uploadify" /> <a href="javascript:$('#uploadify').uploadify('cancel')">清除第一个文件</a> <a href="javascript:$('#uploadify').uploadify('cancel', '*')">清除所有文件</a> <a href="javascript:$('#uploadify').uploadify('upload', '*')">上传所有文件</a> </body> </html>
package com.company.core.upload.action; 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 org.apache.struts2.ServletActionContext; import org.apache.struts2.convention.annotation.Action; import org.apache.struts2.convention.annotation.InterceptorRef; import org.apache.struts2.convention.annotation.InterceptorRefs; import org.apache.struts2.convention.annotation.Namespace; import org.apache.struts2.convention.annotation.ParentPackage; import com.company.core.utils.StringUtils; import com.company.core.action.BaseAction; import com.opensymphony.xwork2.ModelDriven; /** * 上传action * @author winder * 2014-12-03 */ @Namespace("/uploadify") @Action("") @ParentPackage("cc") //@Auth(enalbe=Roles.MANAGER) @InterceptorRefs({ @InterceptorRef("defaultStack") }) public class UploadifyAction extends BaseAction implements ModelDriven { private File uploadify; private String uploadifyFileName; private static final int BUFFER_SIZE = 16 * 1024; public void uploadFiles() throws IOException{ String s = File.separator; String path = ServletActionContext.getServletContext().getRealPath("/"); String savePath = path + "demo_utils"+s+"jsp"+s+"uploadify"+s+"uploads"; //上传完后文件存放位置 String newsuffix = ""; String uuid = StringUtils.getUUID(); if((uploadifyFileName != null)&&(uploadifyFileName.length()>0)) { int dot = uploadifyFileName.lastIndexOf("."); if((dot >-1) && (dot < (uploadifyFileName.length() - 1))) { newsuffix = uploadifyFileName.substring(dot + 1); } } FileInputStream fis = new FileInputStream(uploadify); FileOutputStream fos = new FileOutputStream(savePath+"/"+ uuid + "." + newsuffix); copy(fis, fos); fos.flush(); fos.close(); fis.close(); } /** * 拷贝文件 * @param src xx * @param dst xx */ public void copy(FileInputStream fis, FileOutputStream fos) { try { InputStream in = null; OutputStream out = null; try { in = new BufferedInputStream(fis,BUFFER_SIZE); out = new BufferedOutputStream(fos,BUFFER_SIZE); byte[] buffer = new byte[BUFFER_SIZE]; while (in.read(buffer) > 0) { out.write(buffer); } } finally { if (null != in) { in.close(); } if (null != out) { out.close(); } } } catch (Exception e) { e.printStackTrace(); } } public File getUploadify() { return uploadify; } public void setUploadify(File uploadify) { this.uploadify = uploadify; } public String getUploadifyFileName() { return uploadifyFileName; } public void setUploadifyFileName(String uploadifyFileName) { this.uploadifyFileName = uploadifyFileName; } public Object getModel() { // TODO Auto-generated method stub return null; } }
相关推荐
struts2结合uploadify3.2实现上传进度条,可控文件大小
基于uploadify的无刷新上传 带进度条,支持多文件上传
程序进过本人亲测,附件中含SQL,用的是MySQL数据库,实现了带进度条的多文件上传,并提供下载功能,解压后可直接导入Eclipse,希望对你有所帮助。
这是根据uploadify3 2结合struts2搭建的文件上传环境 可以直接导入eclipse运行 每步实现基本都加了注释 以下是我碰到的问题: 1 判断session是否失效 本实例没测试这个问题 但在工作项目中碰到了 但原因在这里...
struts2 +jquey uploadify3 2 实现多文件上传 可以运行的myeclipse工程 绝对好用 访问方式http: 127 0 0 1:8080 Struts2Uploadify upload jsp uploadify 使用说明: <a href "javascript:$ "#file ...
uploadify3 uploadify2 jsp 文件上传 进度条,官网提供的是php版,这里我改为jsp了,并且uploadify版本2和最新版本3都有。
struts2 + uploadify上传文件示例
uploadify2 uploadify3 jsp 文件 上传 进度条,官网提供的是php版,我改为jsp版了,并且版本2和版本3都有哦,分享给大家,文档可参考官网的http://www.uploadify.com/documentation/
使用struts2和uploadify(2.1.4)开发的文件上传插件
利用struts2框架实现uploadidfy多文件上传,显示进度条上传
jquery之Uploadify实现的带进度条的文件上传
Uploadify大文件(带进度条)上传实例 C# ASP.net
Jquery Uploadify上传带进度条 可以用来上传大文件,代码精简易懂。
struts1 uploadify 多文件上传
uploadify有ASP.NET写的上传DEMO带进度条的。
Uploadify结合Struts2上传demo
Jquery Uploadify多文件上传带进度条 且传递自己的参数示例,代码精简易懂,可以直接运行,适合上传多文件,可自行修改
jquery+uploadify3.2实现多文件上传并且有进度(IE,FF,Google浏览器兼容),本人已经通过IE,火狐,google浏览器测试通过了。将项目直接导入myeclipse下就可以直接运行!(IE,FF,Google浏览器兼容) 附件大小...
Uploadify是JQuery的一个上传插件,带进度显示, 支持多文件上传。不过官方提供的实例时php版本的. 【官网上flash-based是免费的,html5版本是收费的5美金】 附件提供的是asp.net(C#)实例,免费和大家一起共享。讨论...