最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springMVC+jersey實現(xiàn)跨服務(wù)器文件上傳

 更新時間:2019年08月23日 15:39:05   投稿:lijiao  
這篇文章主要介紹了springMVC+jersey實現(xiàn)跨服務(wù)器文件上傳,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了springMVC+jersey實現(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.獲取新的隨機文件名
 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服務(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í)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java數(shù)據(jù)結(jié)構(gòu)和算法之冒泡,選擇和插入排序算法

    Java數(shù)據(jù)結(jié)構(gòu)和算法之冒泡,選擇和插入排序算法

    這篇文章主要為大家介紹了Java冒泡,選擇和插入排序算法 ,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • Java中Volatile關(guān)鍵字能保證原子性嗎

    Java中Volatile關(guān)鍵字能保證原子性嗎

    這篇文章主要介紹了Java中Volatile關(guān)鍵字能保證原子性嗎,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • maven項目打包如何去掉不需要的module

    maven項目打包如何去掉不需要的module

    文章總結(jié):在my-project工程依賴my-core和my-common,且my-project在總工程AAA中時,建議通過以下兩種方案優(yōu)化打包流程:1.?使用pom區(qū)分,重新編寫pom文件,并指定需要重新編譯的工程到modules中,然后在編譯時指定pom文件;
    2024-12-12
  • MyBatis中常見的SQL執(zhí)行方式及其使用方法

    MyBatis中常見的SQL執(zhí)行方式及其使用方法

    MyBatis可能很多人都一直在用,但是MyBatis的SQL執(zhí)行流程可能并不是所有人都清楚了,下面這篇文章主要給大家介紹了關(guān)于MyBatis中常見的SQL執(zhí)行方式及其使用的相關(guān)資料,需要的朋友可以參考下
    2023-09-09
  • SpringBoot?實現(xiàn)微信推送模板的示例代碼

    SpringBoot?實現(xiàn)微信推送模板的示例代碼

    這篇文章主要介紹了SpringBoot?實現(xiàn)微信推送模板,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • Java并發(fā)編程之線程池實現(xiàn)原理詳解

    Java并發(fā)編程之線程池實現(xiàn)原理詳解

    池化思想是一種空間換時間的思想,期望使用預(yù)先創(chuàng)建好的對象來減少頻繁創(chuàng)建對象的性能開銷,java中有多種池化思想的應(yīng)用,例如:數(shù)據(jù)庫連接池、線程池等,下面就來具體講講
    2023-05-05
  • Java泛型映射不同的值類型詳解及實例代碼

    Java泛型映射不同的值類型詳解及實例代碼

    這篇文章主要介紹了Java泛型映射不同的值類型詳解及實例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • MyBatis-Plus 分頁查詢以及自定義sql分頁的實現(xiàn)

    MyBatis-Plus 分頁查詢以及自定義sql分頁的實現(xiàn)

    這篇文章主要介紹了MyBatis-Plus 分頁查詢以及自定義sql分頁的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Java匿名類,匿名內(nèi)部類實例分析

    Java匿名類,匿名內(nèi)部類實例分析

    這篇文章主要介紹了Java匿名類,匿名內(nèi)部類,結(jié)合實例形式分析了Java匿名類,匿名內(nèi)部類相關(guān)原理、用法及操作注意事項,需要的朋友可以參考下
    2020-04-04
  • SpringBoot中Filter?bean如何添加到Servlet容器

    SpringBoot中Filter?bean如何添加到Servlet容器

    這篇文章主要介紹了SpringBoot中Filter bean是怎么被添加到Servlet容器中的,本文分步驟結(jié)合實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08

最新評論

沅江市| 阳泉市| 彭州市| 周宁县| 孙吴县| 阿拉尔市| 抚顺县| 梅河口市| 东光县| 杂多县| 剑河县| 湘潭县| 徐州市| 台安县| 仙游县| 平泉县| 五常市| 五河县| 浦东新区| 清河县| 泸溪县| 库伦旗| 卢氏县| 阿拉尔市| 莱芜市| 浦北县| 棋牌| 台前县| 施秉县| 佛坪县| 沁源县| 麟游县| 庆阳市| 阳泉市| 华宁县| 玛沁县| 长阳| 周宁县| 绍兴县| 秦皇岛市| 桃园市|