SpringMVC+uploadify3.2.1版實現附件上傳功能(直接可使用)

<link rel="stylesheet" type="text/css" href='<c:url value="/uploadify/uploadify.css"/>' />
<script src="<c:url value="/uploadify/jquery.uploadify.min.js"/>"type="text/javascript"></script>
<a class="task_btn_upload" href="javascript:$('#file_upload1').uploadify('upload','*')">開始上傳</a>
<input type="file" name="file_upload" id="file_upload"/>


 $(function() {  
  $("#file_upload").uploadify({ 
   'auto':false,       //是否容許自動上傳
   'swf' : '../uploadify/uploadify.swf?var='
            +(new Date()).getTime(), //引入flash
   'buttonText':'',     //設置button文字
    'removeCompleted': true,//是否移除掉隊列中已經完成上傳的文件。false爲不移除
   'removeTimeout': 3,//設置上傳完成後刪除掉文件的延遲時間,默認爲3秒。
   'width ':'120',      //按鈕寬度
   'method':'PSOT',                     //提交方式
   'multi':'true',      //是否多文件上傳
   'fileObjName' : 'myFile',   //文件對象名稱,用於後臺獲取文件對象時使用
   'preventCaching':'true',   //防止瀏覽器緩存
   'formData':{'emergencyId':1111}, //動態傳參
   'queueID': 'custom-queue',  //顯示在某個div的位置  custom-queue div的id 
   '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");
   }
  }
相關文章
相關標籤/搜索