js脚本:
$("#files").uploadify({
'uploader' : '../js/lib/uploadify/uploadify.swf',//是组件自带的flash,用于打开选取本地文件的按钮
'script' : appPath + 'file!uploadFiles.action',//处理上传的路径,这里使用Struts2是XXX.action
'cancelImg' : '../js/lib/uploadify/cancel.png',//取消上传文件的按钮图片,就是个叉叉
'folder' : 'upload',//上传文件的目录,可以不配置
'buttonImg' : '../js/lib/uploadify/upload.png',//浏览按钮的图片的路径 。
'wmode' : 'transparent' ,//设置该项为transparent 可以使浏览按钮的flash背景文件透明,并且flash文件会被置为页面的最高层。
'height' : 80, //设置浏览按钮的高度
'width' : 80, //设置浏览按钮的宽度
'sizeLimit' : 2*1024*1024,//单个文件的大小,2M
'fileDataName' : 'files',//和input的name属性值保持一致就好,Struts2就能处理了
'auto' : false,//是否选取文件后自动上传
'multi' : false,//是否支持多文件上传
'simUploadLimit' : 5,//每次最大上传文件数,不设置的话默认为999个
'buttonText' : 'upload',//按钮上的文字
'displayData' : 'percentage',//有speed和percentage两种,一个显示速度,一个显示完成百分比
'fileDesc' : '支持格式:xls。', //如果配置了以下的'fileExt'属性,那么这个属性是必须的
'fileExt' : '*.xls',//允许的格式
'onComplete' : function (event, queueID, fileObj, response, data){
$("#con").unmask();
$("#batchInfo").html(response);
}
});
上传按钮:
//上传
$("#batchFormUpload").click(function() {
$("#con").mask("上传受理中,较耗时,请稍候...");
jQuery('#files').uploadifyUpload();
});
html页面:
<link rel="stylesheet" type="text/css" href="../js/lib/uploadify/uploadify.css" />
<script type="text/javascript" src="../js/lib/jquery/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="../js/lib/uploadify/jquery.uploadify.v2.1.4.min.js"></script>
<script type="text/javascript" src="../js/lib/uploadify/swfobject.js"></script>
<form id="batchForm" enctype="multipart/form-data" name="batchForm" method="post">
<table>
<tbody>
<tr>
<td><input type="file" value="浏览" name="files" id="files" /></td>
<td> <a href="template.xls">CSV模板下载</a><a id="help" title="上传的CSV文件最大支持2M" href="#"><img src="../js/lib/poshytip/help.png" height="20" width="20" /></a></td>
</tr>
<tr>
<td><span> </span></td>
</tr>
<tr>
<td align="center" colspan="4"><input id="batchFormUpload" type="button" class="inp05 entry" value="上传并受理" /></td>
</tr>
<tr>
<td align="center" colspan="4"><span id="batchInfo"> </span></td>
</tr>
</tbody>
</table>
</form>
action类:
public class FileAction extends BaseAction {
private List<File> files;
private List<String> filesFileName;
public List<String> getFilesFileName() {
return filesFileName;
}
public void setFilesFileName(List<String> filesFileName) {
this.filesFileName = filesFileName;
}
public List<File> getFiles() {
return files;
}
public void setFiles(List<File> files) {
this.files = files;
}
public String uploadFiles() throws Exception {
// 获取当前的路径
String path = request.getServletContext().getRealPath("");
// 设置上传之后的文件夹,这个文件夹的命名是自定义的
path = path + "/upload/";
// 设置编码方法
response.setCharacterEncoding("utf-8");
// 读取文件操作
// 页面上提醒
response.getWriter().print(sb);
return null;
}
struts.xml配置:
<package name="file" extends="struts-default">
<action name="upload" class="file.FileAction" method="uploadFiles"></action>
</package>