<link href="static/uploadify/uploadify.css" rel="stylesheet"
type="text/css" />
<script type="text/javascript"
src="static/uploadify/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="static/uploadify/swfobject.js"></script>
<script type="text/javascript"
src="static/uploadify/jquery.uploadify.v2.1.4.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#uploadify").uploadify({
'uploader' : 'static/uploadify/uploadify.swf', //是組件自帶的flash,用於打開選取本地文件的按鈕
'script' : 'upload.action',//處理上傳的路徑,這裏使用Struts2是XXX.action
'scriptData' :{'catId':$('#catId').val()},
'cancelImg' : 'static/uploadify/cancel.png',//取消上傳文件的按鈕圖片,就是個叉叉
'folder' : 'uploads',//上傳文件的目錄
'fileDataName' : 'uploadify',//和input的name屬性值保持一致就好,Struts2就能處理了
'queueID' : 'fileQueue',
'auto' : false,//是否選取文件後自動上傳
'multi' : true,//是否支持多文件上傳
'simUploadLimit' : 1,//每次最大上傳文件數
'queueSizeLimit' : 50,
'removeCompleted' : true,
'buttonText' : 'BORWSE',//按鈕上的文字
'displayData' : 'percentage',//有speed和percentage兩種,一個顯示速度,一個顯示完成百分比
'fileDesc' : '支持格式:jpg/gif/jpeg/png/bmp.', //如果配置了以下的'fileExt'屬性,那麼這個屬性是必須的
'fileExt' : '*.jpg;*.gif;*.jpeg;*.png;*.bmp',//允許的格式
'onComplete' : function(event, queueID, fileObj, response, data) {
//$("#result").html(response);//顯示上傳成功結果
//setInterval("showResult()", 2000);//兩秒後刪除顯示的上傳成功結果
window.location.href="<%=basePath%>photoManage/uploadPhoto.action?catId="+$('#catId').val();//上傳成功後跳轉,並傳遞參數
}
});
});
//function showResult() {//刪除顯示的上傳成功結果
// $("#result").html("");
//}
function uploadFile() {//上傳文件
jQuery('#uploadify').uploadifyUpload();
}
function clearFile() {//清空所有上傳隊列
jQuery('#uploadify').uploadifyClearQueue();
}
</script>
<input type="file" name="uploadify" id="uploadify"/>
<s:hidden name="catId"></s:hidden> //上傳成功後要傳遞的參數值
<div>
<div id="fileQueue"></div>
</div>
<input type="button" οnclick="uploadFile()" value="開始上傳">
<input type="button" οnclick="clearFile()" value="取消所有上傳">
接受上傳處理的Action
private File uploadify;
private String uploadifyFileName;
public String upload()throws Exception{
String extName = "";
PhotoService photoService = ServiceLocator.getPhotoService();
String saveRealFilePath = ServletActionContext.getServletContext().getRealPath("/upload");
File fileDir = new File(saveRealFilePath);
if (!fileDir.exists()) {
fileDir.mkdirs();
}
File savefile;
if(uploadifyFileName.lastIndexOf(".")>=0){
extName = uploadifyFileName.substring(uploadifyFileName.lastIndexOf("."));
}
String nowTime = ""+new Date().getTime();
savefile = new File(saveRealFilePath + "/" + nowTime + extName);
try {
Photo photo = new Photo();
photo.setCatId(Integer.parseInt(catId));
photo.setPhotoName(nowTime + extName);
boolean result = photoService.insertPhoto(photo);
} catch (Exception e) {
e.printStackTrace();
}
FileUtils.copyFile(uploadify,savefile);
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("utf-8");
response.getWriter().print(uploadifyFileName+"上傳成功");
return null;
}
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;
}