點擊上傳按鈕,文件自動上傳

1 <input type="button" class="button green" value="上傳" onclick= "$('#upload1').click();">
2 <input type="button" class="button green" value="上傳" onclick= "$('#upload2').click();">
3 <input type="file" id="upload1" name="upload" onchange="ajaxFileUpload(this,1)" style="display:none">
4 <input type="file" id="upload2" name="upload" onchange="ajaxFileUpload(this,2)" style="display:none">

 

js代碼:必須引入這兩個js。第二個能夠在網上下載javascript

<script type="text/javascript" src="jquery/jquery-1.8.3.js"></script>
<script type="text/javascript" src="js/ajaxfileupload.js"></script>html

 1         function ajaxFileUpload(obj,ids) {
 2             var file = document.getElementById("upload"+ids);
 3             var fileName = document.getElementById("up"+ids);
 4        9             $.ajaxFileUpload({
10                 url : '/abs/uploadfile.html', //用於文件上傳的服務器端請求地址
11                 secureuri : false, //是否須要安全協議,通常設置爲false
12                 fileElementId : 'upload'+ids, //文件上傳域的ID
13                 dataType : 'JSON', //返回值類型 通常設置爲json
14                 data : {'params':ids,'basic.ID':id}, //返回值類型 通常設置爲json
15                 success : function(data) { //服務器成功響應處理函數
16                     if(data.retcode="0"){
17                         alert("上傳成功!");
18                         window.location.reload();
19                     }else if(data.retcode="101"){
20                         alert("上傳失敗!");
21                     }else if(data.retcode="1"){
22                         alert("上傳出錯!");
23                     }
24                 },
25                 error : function(data) { //服務器響應失敗處理函數
26                     alert("Unknown Error!");
27                 }
28             });

action部分的代碼:java

  1  
  private File upload;//必須與你的file文件上傳域的name一致

   private String uploadContentType;
   private String uploadFileName;jquery

  public String uploadFile(){
  2         String filePath;
  3         try {
  4             if(upload==null){
  5                 filePath=null;
  6             }else{
  7                 String uploadPath = ServletActionContext.getServletContext().getRealPath("/");
  8                 filePath = "D:\\EPMS\\"+uploadFileName;
  9                 FileInputStream fis = new FileInputStream(upload);
 10                 FileOutputStream fos = new FileOutputStream(filePath);
 11                 IOUtils.copy(fis, fos);
 12                 fos.flush();
 13                 fis.close();
 14                 fos.close();
 15             }
      //以上是上傳的代碼,下面爲將上傳的信息寫入數據庫
16 if(files==null){ 17 files = new Files(); 18 } 19 System.out.println(fileid+"========"); 20 if(fileid!=null&&!"".equals(fileid)){ 21 files.setID(fileid); 22 files.setName(uploadFileName); 23 files.setSrc(filePath); 24 //files.setCreateTime(new Date()); 25 files.setVersionNum(1); 26 27 exhiService.updateFile(files); 28 }else{ 29 files.setID(UUID.randomUUID().toString()); 30 files.setName(uploadFileName); 31 files.setSrc(filePath); 32 files.setCreateTime(new Date()); 33 files.setVersionNum(1); 34 35 if("1".equals(params)){ 36 files.setType("效果圖"); 37 files.setNoteID(shentu.getID()); 38 } 39 if("2".equals(params)){ 40 files.setType("平面圖"); 41 files.setNoteID(shentu.getID()); 42 } 43 if("3".equals(params)){ 44 files.setType("立面圖"); 45 files.setNoteID(shentu.getID()); 46 } 87 88 exhiService.addFile(files); 89 log.info("upload {} success!!!"); 90 resultMap.put("retcode", RetCode.SUCCESS); 91 resultMap.put("retmsg", "上傳成功"); 92 } 93 94 } catch(Exception e){ 95 log.error("upload {} unknow_wrong!!!",e); 96 resultMap.put("retcode", RetCode.UNKOWN_WRONG); 97 resultMap.put("retmsg", "上傳出錯"); 98 } 99 return SUCCESS; 100 }

 參考自博客:http://blog.csdn.net/yicong406880638/article/details/51473955ajax

 有須要的也能夠去這個地址看看,我就是看這個博客的才作出來的。數據庫

相關文章
相關標籤/搜索