本文實例為大家分享了springMVC+jersey實現(xiàn)跨服務器文件上傳的具體代碼,供大家參考,具體內容如下
創(chuàng)新互聯(lián)公司專注于企業(yè)網(wǎng)絡營銷推廣、網(wǎng)站重做改版、蕉嶺網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、H5頁面制作、成都做商城網(wǎng)站、集團公司官網(wǎng)建設、成都外貿網(wǎng)站建設公司、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為蕉嶺等各大城市提供網(wǎng)站開發(fā)制作服務。
1.首先添加所需要的jar包
2.在springMVC的配置文件中添加文件上傳解析器
<!-- 文件上傳的解析器 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 文件上傳大小的限制 --> <property name="maxUploadSize" value="5000000"></property> <property name="defaultEncoding" value="UTF-8"></property> </bean>
3.jsp頁面
<form id="fm" action="" method="post"> <p> <img src="" id="imgSrc"/> 請上傳頭像:<input type="file" name="imgFile" id="imgFile" οnchange="fileUpload();"/> <input type="hidden" id="reletivePath" name="reletivePath" value=""> </p> </form>
4.文件上傳的 js
<!-- 文件上傳js --> <script type="text/javascript"> function fileUpload(){ var option = { type:"POST", url:"${pageContext.request.contextPath }/user/fileUpload.do", data:{ fileName:"imgFile" }, success:function(reData){ alert(reData.reletivePath); $("#imgSrc").attr("height",100); $("#imgSrc").attr("width",100); $("#imgSrc").attr("src",reData.fullPath); $("#reletivePath").val(reData.reletivePath); }, dataType:"json" }; $("#fm").ajaxSubmit(option); } </script>
5. controller
/* * 文件上傳 */ @RequestMapping("fileUpload") public @ResponseBody Map<String , String> fileUpload(HttpServletRequest request,String fileName){ System.out.println(111); //1.將普通請求轉換為多部件請求 MultipartHttpServletRequest mr = (MultipartHttpServletRequest)request; //2.根據(jù)文件名獲取文件對象 CommonsMultipartFile mf = (CommonsMultipartFile)mr.getFile(fileName); //3.獲取文件全名稱 String originalFilename = mf.getOriginalFilename(); System.out.println("文件全名稱"+originalFilename); //4.獲取后綴 String suffix = originalFilename.substring(originalFilename.lastIndexOf(".")); System.out.println("后綴"+suffix); //5.將文件對象轉換為字節(jié) byte[] fileBytes = mf.getBytes(); //6.獲取新的隨機文件名 String newFileName=""; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); int num = (int)(Math.random()*899)+100; newFileName = sdf.format(new Date())+num; System.out.println("新的隨機文件名"+newFileName); //開始上傳 //1.創(chuàng)建jesy服務器 Client client = Client.create(); String fullPath = "http://localhost:8088/fileServiceProject/upload/"+newFileName+suffix; //把文件關聯(lián)到遠程服務器 WebResource wr = client.resource(fullPath); //2.相對路徑 String reletivePath = "/upload/"+newFileName+suffix; //3.上傳 wr.put(String.class, fileBytes); Map<String , String> map = new HashMap<String, String>(); map.put("fullPath", fullPath); map.put("reletivePath", reletivePath); return map; }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。
標題名稱:springMVC+jersey實現(xiàn)跨服務器文件上傳
網(wǎng)頁URL:http://aaarwkj.com/article10/igecgo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、電子商務、面包屑導航、做網(wǎng)站、網(wǎng)站改版、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)