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

本文實(shí)例為大家分享了springMVC+jersey實(shí)現(xiàn)跨服務(wù)器文件上傳的具體代碼,供大家參考,具體內(nèi)容如下

創(chuàng)新互聯(lián)公司專注于企業(yè)網(wǎng)絡(luò)營銷推廣、網(wǎng)站重做改版、蕉嶺網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁面制作、成都做商城網(wǎng)站、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為蕉嶺等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

1.首先添加所需要的jar包

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

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.將普通請求轉(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í)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

標(biāo)題名稱:springMVC+jersey實(shí)現(xiàn)跨服務(wù)器文件上傳
網(wǎng)頁URL:http://bm7419.com/article10/igecgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、電子商務(wù)、面包屑導(dǎo)航、做網(wǎng)站網(wǎng)站改版、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)