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
有須要的也能夠去這個地址看看,我就是看這個博客的才作出來的。數據庫