91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何用ssm框架實現Springmvc文件上傳

發布時間:2020-07-01 16:12:35 來源:億速云 閱讀:315 作者:清晨 欄目:開發技術

這篇文章將為大家詳細講解有關如何用ssm框架實現Springmvc文件上傳,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

一、上傳:

1)編寫前臺文件上傳表單。Method必須為post,enctype為mutipart/form-data

<body>
<%--文件上傳
   1)method必須指定為post
   2)enctype必須指定為multipart/form-data
--%>
<h2>頭像上傳</h2>
<form action="${pageContext.request.contextPath}/admin/headpic" method="post" enctype="multipart/form-data">
  選擇頭像:<input type="file" name="headpic"/>
<%--  ${param.屬性值}==request.getParameter(屬性值)--%>
  <input type="text" name="id" value="${param.id}">
  <input type="submit" value="上傳"/>
</form>
</body>

2)編寫控制層代碼,獲取上傳的文件數據,并保存MultipartFile;

//MultipartFile:用來接收上傳的文件,參數名與input的name一直
  //@SessionAttribute("admin"):獲取session域中的值
  //@RequestParam(required = false):指定對應的參數可以為空,不是必須有值
  @RequestMapping("/headpic")
  public String headPic(MultipartFile headpic,@RequestParam(required = false) Admin admin,Integer id) throws IOException {
    String filename = headpic.getOriginalFilename();
    System.out.println("上傳的文件名:"+filename);
    File file=new File("E:/headpic/"+filename);
    if (!file.getParentFile().exists()){
      file.getParentFile().mkdirs();//如果父目錄不存在,創建該目錄
    }
    //保存文件,將上傳的文件內容寫入file
    headpic.transferTo(file);
    admin=new Admin(id);
    //將頭像訪問路徑保存到對象中
    admin.setHeadpic("/head/"+filename);
    //更新用戶頭像信息
    adminService.updateHeadPic(admin);
    return "redirect:list";
  }

3)在springmvc配置文件中配置文件上傳配置項。配置multipartResolver;

  <!--配置文件上傳-->
  <bean id="multipartResolver"
     class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <!--設置文件編碼格式-->
    <property name="defaultEncoding" value="UTF-8"/>
    <!--設置最大上傳大小-->
    <property name="maxUploadSize" value="10240000" />
  </bean>
<!--  資源映射,將請求地址映射到某個目錄或具體的磁盤路徑
   mapping:配置請求地址; location:配置文件路徑
   請求地址:/head/logo.png==>E:/headpic/logo.png
-->
  <mvc:resources mapping="/head/**" location="file:E:/headpic/"></mvc:resources>
<!--  請求地址為/headimg/logo.png==>/WEB-INF/img/logo.png-->
  <mvc:resources mapping="/headimg/**" location="/WEB-INF/img/"></mvc:resources>

二、下載:

1) 獲取到下載文件的路徑;

2) 讀取文件內容到字節數組;

3) 返回字節數組,并聲明返回類型為stream,設置附件名稱;

@GetMapping("/headPicDownload")
  public ResponseEntity<byte[]> headPicDownload(String filename) throws IOException {
    //1、定位到文件地址
    File file=new File("E:/headpic/"+filename);
    //2、讀取文件內容
    byte[] bytes= FileUtils.readFileToByteArray(file);
    //3、設置http響應頭
    HttpHeaders headers = new HttpHeaders();
    //設置ContentType為stream
    headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
    //4、設置以附件形式打開
    headers.setContentDispositionFormData("attachment",filename);
    //                內容  頭部信息  http狀態碼
    return new ResponseEntity<byte[]>(bytes,headers, HttpStatus.CREATED);
  }
<td>
        <img 
           src="${pageContext.request.contextPath}${admin.headpic}"/>
        <a href="${pageContext.request.contextPath}/admin/headPicDownload&#63;filename=${fn:replace(admin.headpic," rel="external nofollow" /head/","" )}">下載</a>
      </td>

關于如何用ssm框架實現Springmvc文件上傳就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

分宜县| 陇南市| 淳化县| 南投县| 仲巴县| 奇台县| 左贡县| 瑞昌市| 德惠市| 江陵县| 来安县| 凤山市| 璧山县| 陕西省| 灵武市| 德庆县| 襄汾县| 库车县| 鹿邑县| 扎鲁特旗| 措美县| 原平市| 紫云| 牟定县| 泗水县| 祥云县| 慈利县| 太仆寺旗| 衡阳市| 营山县| 田林县| 那曲县| 长海县| 天水市| 平远县| 淳化县| 威远县| 定安县| 时尚| 上犹县| 泗水县|