springMVC+jersey實(shí)現(xiàn)跨服務(wù)器文件上傳
本文實(shí)例為大家分享了springMVC+jersey實(shí)現(xiàn)跨服務(wù)器文件上傳的具體代碼,供大家參考,具體內(nèi)容如下
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="" alt="" 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.將普通請求轉(zhuǎn)換為多部件請求 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.將文件對象轉(zhuǎn)換為字節(jié) byte[] fileBytes = mf.getBytes(); //6.獲取新的隨機(jī)文件名 String newFileName=""; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); int num = (int)(Math.random()*899)+100; newFileName = sdf.format(new Date())+num; System.out.println("新的隨機(jī)文件名"+newFileName); //開始上傳 //1.創(chuàng)建jesy服務(wù)器 Client client = Client.create(); String fullPath = "http://localhost:8088/fileServiceProject/upload/"+newFileName+suffix; //把文件關(guān)聯(lián)到遠(yuǎn)程服務(wù)器 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; }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- SpringMVC 數(shù)據(jù)校驗(yàn)實(shí)例解析
- springmvc的validator數(shù)據(jù)校驗(yàn)的實(shí)現(xiàn)示例代碼
- SpringMVC 數(shù)據(jù)校驗(yàn)方法(必看篇)
- springmvc使用JSR-303進(jìn)行數(shù)據(jù)校驗(yàn)實(shí)例
- SpringMVC圖片文件跨服務(wù)器上傳
- springmvc實(shí)現(xiàn)跨服務(wù)器文件上傳功能
- Spring MVC下 bootStrap服務(wù)器分頁代碼
- 基于SpringMVC+Bootstrap+DataTables實(shí)現(xiàn)表格服務(wù)端分頁、模糊查詢
- Spring mvc服務(wù)端數(shù)據(jù)校驗(yàn)實(shí)現(xiàn)流程詳解
相關(guān)文章
使用jquery 的ajax 與 Java servlet的交互代碼實(shí)例
這篇文章主要介紹了使用jquery 的ajax 與 Java servlet的交互代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09springmvc級聯(lián)屬性處理無法轉(zhuǎn)換異常問題解決
這篇文章主要介紹了springmvc級聯(lián)屬性處理無法轉(zhuǎn)換異常問題解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12SpringBoot統(tǒng)一數(shù)據(jù)返回格式的實(shí)現(xiàn)示例
本文主要介紹了SpringBoot統(tǒng)一數(shù)據(jù)返回格式,它提高了代碼的可維護(hù)性和一致性,并改善了客戶端與服務(wù)端之間的通信,具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05如何使用Idea搭建全注解式開發(fā)的SpringMVC項(xiàng)目
這篇文章主要介紹了如何使用Idea搭建全注解式開發(fā)的SpringMVC項(xiàng)目,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03Java中instanceof關(guān)鍵字的用法總結(jié)
instanceof是Java的一個(gè)二元操作符,和==,>,<是同一類東東。由于它是由字母組成的,所以也是Java的保留關(guān)鍵字。它的作用是測試它左邊的對象是否是它右邊的類的實(shí)例,返回boolean類型的數(shù)據(jù)2013-10-10