SpringMVC+uploadify3.2.1版實現附件上傳功能
$(function() {
$("#file_upload").uploadify({
'auto':false, //是否允許自動上傳
'swf' : '../uploadify/uploadify.swf?var='
+(new Date()).getTime(), //引入flash
'buttonText':'', //設置button文字
'width ':'120', //按鈕寬度
'method':'PSOT', //提交方式
'multi':'true', //是否多文件上傳
'fileObjName' : 'myFile', //文件對象名稱,用于后臺獲取文件對象時使用
'preventCaching':'true', //防止瀏覽器緩存
'formData':{'emergencyId':1111}, //動態傳參
'queueID': 'custom-queue',
'uploader' : 'emergencyQueryRevision.do?
method=addAnnex' , //提交后臺方法路徑
//onUploadStart 動態傳參的關鍵
'onUploadStart':function(){
$("#file_upload").uploadify("settings","formData",
{'emergencyId': $("#id").val()});
},
'onFallback' : function() {//檢測FLASH失敗調用
alert("您未安裝FLASH控件,無法上傳圖片!請安裝FLASH控件后再試。");
},
'onUploadSuccess':function(file, data, response){
var Data = eval('('+data+')');
// alert(file.name+"上傳"+Data.result);
},
onError: function(event, queueID, file)
{
alert(file.name + " 上傳失敗");
},
'onQueueComplete':function(stats) {
//版本不一樣方法也存在差異
alert("成功上傳的文件數:" + stats.uploadsSuccessful + " =上傳出錯的文件數:" +stats.uploadsErrored + " -上傳的文件總大小:" + stats.uploadSize);
cancel();
},
});
});
//上傳附件
MultipartHttpServletRequest multipartRequest =
(MultipartHttpServletRequest) request;
MultipartFile file =multipartRequest.getFile("myFile");
//獲取服務器地址
ServletContext sc = request.getSession().getServletContext();
//附件存放服務器路徑
String dir = sc.getRealPath("/upload/yingjiwuzhi/");
//如果文件夾不存在,則創建文件夾
if (!new File(dir).exists()){
new File(dir).mkdirs();
}
String fileName = file.getOriginalFilename();
String realName = fileName.substring(0, fileName.indexOf("."));
//防止文件被覆蓋,以納秒生成文件名稱
Long _l = System.nanoTime();
String _extName = fileName.substring(fileName.indexOf("."));
fileName = _l + _extName;
String uploadPath = request.getContextPath() +
"/upload/yingjiwuzhi/" + fileName;
//存儲格式為:/項目名/upload/yingjiwuzhi/43038800303864.log
//存儲到數據庫的相對路徑
String responseStr="";
try {
FileUtils.writeByteArrayToFile(new File(dir, fileName),
file.getBytes());//服務器中生成文件
responseStr="上傳成功";
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
responseStr="上傳失敗";
}
//刪除服務器上的附件
//獲取服務器地址
ServletContext sc = request.getSession().getServletContext();
//項目名稱
String projectName = request.getContextPath();
String annexId = request.getParameter("annexId");
String emergencyId = request.getParameter("emergencyId");
//附件路徑 存儲格式為:/項目名/upload/yingjiwuzhi/43038800303864.log
String annexPath=request.getParameter("path");
if(!"".equals(annexPath)&&annexPath!=null){
String path = annexPath.replace(projectName, "");
String filePath = sc.getRealPath(path.trim());
File file = new File(filePath);
// 如果文件路徑所對應的文件存在,并且是一個文件,則直接刪除
if (file.exists() && file.isFile()) {
if (file.delete()) {
map.put("result", "true");
} else {
map.put("result", "false");
}
} else {
file.delete();
map.put("result", "true");
}
} 本文由用戶 c38c 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!