jquery.uploadify 上传进度条
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head><link rel="stylesheet" type="text/css" href="css/uploadify.css" /><script type="text/javascript" src="js/jquery.js"></script><script type="text/javascript" src="js/jquery.uploadify.js"></script><script type="text/javascript"> $(document).ready(function() {$('#up').fileUpload ({//以下参数均是可选'uploader' : 'flash/uploader.swf', //指定上传控件的主体文件,默认‘uploader.swf’'script' : 'uploadify.action', //指定服务器端上传处理文件,默认‘upload.php’'cancelImg' : 'image/cancel.png', //指定取消上传的图片,默认‘cancel.png’'fileDataName':'up', 'auto' : false, //选定文件后是否自动上传,默认false'folder' : '/file', //要上传到的服务器路径,默认‘/’'muti' : true, //是否允许同时上传多文件,默认false'queueSizeLimit' : 2, //队列中同时存在的文件个数限制 //'fileDesc' : 'rar文件或zip文件', //出现在上传对话框中的文件类型描述//'fileExt' : '*.rar;*.zip', //控制可上传文件的扩展名,启用本项时需同时声明fileDesc'sizeLimit': 99999999999, //控制上传文件的大小,单位byte'multi': true,//是否支持多文件上传'buttonText': 'Browse Files',//按钮上的文字'simUploadLimit' :5 //多文件上传时,同时上传文件数目限制});});</script> </head> <body> <input type="file" id="up" name="up" /><a href="javascript:$('#up').fileUploadStart()">上传</a> | <a href="javascript:$('#up').fileUploadClearQueue();">清除队列</a> </body></html>
import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;public class UploadAction extends ActionSupport {/** * */private static final long serialVersionUID = 2854105381965508552L;private static final int BUFFER_SIZE = 20 * 1024; // 20Kprivate File up;private String upFileName; public File getUp() {return up;}public void setUp(File up) {this.up = up;}public String getUpFileName() {return upFileName;}public void setUpFileName(String upFileName) {this.upFileName = upFileName;}public String execute(){ LOG.debug("fileName"+upFileName);String newFileName = upFileName;//new Date().getTime() + getExtention(fileName);File imageFile = new File(ServletActionContext.getServletContext().getRealPath("/file")+ "/" + newFileName);upload(up, imageFile);return SUCCESS;}private static void upload(File src, File dst) {try {InputStream in = null;OutputStream out = null;try {in = new BufferedInputStream(new FileInputStream(src),BUFFER_SIZE);out = new BufferedOutputStream(new FileOutputStream(dst),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();}}}
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"><struts><package name="struts2" extends="struts-default"><action name="uploadify" value="99999999999" /></struts>
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"><bean id="dataSource"ref="dataSource"></property><property name="hibernateProperties"><props><prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop><prop key="hibernate.show_sql">true</prop><prop key="connection.useUnicode">true</prop><prop key="connection.characterEncoding">UTF-8</prop><prop key="hibernate.jdbc.batch_size">30</prop></props></property><property name="mappingResources"><list><value>com/zcb/model/User.hbm.xml</value></list></property></bean><bean id="genericDao" /></property></bean><bean id="userDao" scope="prototype"><property name="userDao" ref="userDao"></property></bean><bean id="upload" scope="prototype"></bean></beans>
[*]
[img][/img][url][/url]