spring boot檔案的上傳下載
spring boot 引入”約定大於配置“的概念,實現自動配置,節約了開發人員的開發成本,並且憑藉其微服務架構的方式,一出來就佔據大片開發人員的芳心。然而對於剛開始使用它的人來說是比較不習慣的,因為大部分的配置從開發人員可見變成了相對透明瞭,要想進一步熟悉還需要關注原始碼,對於spring boot 新人來說使用是比較吃力的。
為了記錄自己對spring boot的學習,同時也可以對正在學習spring boot的同學提供一個demo。特寫下這篇比較粗獷的博文。
spring boot搭建就不說了,詳情請看spring官網spring boot quickly start篇。
廢話不多說,先看檔案上傳:
對於檔案上傳使用springMVC的同學應該知道MultipartHttpServletRequest這個玩意,在spring boot中也是用它。首先我們看demo頁面。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <form action="/testUpload" method="POST" enctype="multipart/form-data"> <input type="file" name="file"/> <input type="submit" /> </form> <a href="/testDownload">下載</a> </body> </html>
前端頁面部分和springMVC完全一樣(ps:本來spring boot就不是新的方案解決框架,只是改變了框架的使用方式而已)
後端程式碼也很簡單,按上面說的,使用MultipartHttpServletRequest來處理上傳請求,然後將接收到的檔案以流的形式寫入到伺服器檔案中。
@RequestMapping(value="/testUpload",method=RequestMethod.POST) public void testUploadFile(HttpServletRequest req,MultipartHttpServletRequest multiReq) throws IOException{ FileOutputStream fos=new FileOutputStream(new File("F://test//src//file//upload.jpg")); FileInputStream fs=(FileInputStream) multiReq.getFile("file").getInputStream(); byte[] buffer=new byte[1024]; int len=0; while((len=fs.read(buffer))!=-1){ fos.write(buffer, 0, len); } fos.close(); fs.close(); }
同理對於檔案下載同樣簡單,只需要將檔案寫到輸出流裡:
@RequestMapping(value="/testDownload",method=RequestMethod.GET)
public void testDownload(HttpServletResponse res) throws IOException{
String fileName="upload.jpg";
res.setHeader("content-type", "application/octet-stream");
res.setContentType("application/octet-stream");
res.setHeader("Content-Disposition", "attachment;filename=CourseResource.jpg");
File file=new File("F://BaiduYunDownload//testRedis//src//file//upload.jpg");
FileOutputStream fos=new FileOutputStream(file);
res.setContentLengthLong(file.length());
fos.close();
}
在這個過程中完全不需要任何配置,不過如果你要設定上傳檔案的大小設定,那麼你可以再application.properties中分別用
multipart.maxFileSize,multipart.maxRequestSize,這兩個屬性。
相關推薦
Spring Boot——檔案上傳與下載
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apac
Spring Boot 檔案上傳和下載
前言:以前的專案中檔案上傳下載會寫大量程式碼來實現,但是在Spring Boot中,簡化了大量程式碼,上傳只需要2行程式碼即可 package com.demo.controller; import com.demo.model.FileInfo; import org.
Spring Boot 檔案上傳與下載
一、上傳檔案 @RequestMapping(value="/upfile", method = RequestMethod.POST) public ResultVo uploadFile(@Req
從.Net到Java學習第十篇——Spring Boot檔案上傳和下載
圖片上傳 Spring Boot中的檔案上傳就是Spring MVC中的檔案上傳,將其整合進來了。 在模板目錄建立一個新的頁面 profile/uploadPage.html <!DOCTYPE html> <html xmlns:th="http://www.thymel
Spring Boot檔案上傳
spring boot 2.0.5 要實現檔案上傳並直接訪問(檢視/下載) 配置靜態檔案路徑 application.properties uploadPath=/opt/data1/uploads/ ## 上傳路徑設定為靜態資源路徑,可以通過http直接訪問,
Spring Boot -- 檔案上傳
Spring Boot -- 檔案上傳 一:檔案上傳 1. pom.xml 2. application.properties 3. Controller 4.測試 二:熱部署 spring-boot
spring boot 檔案上傳配置檔案
spring: thymeleaf.cache : false messages.basename : static/message/messages http: multipart: &n
spring boot 檔案上傳 最基礎的
首先:在控制層 controller 建 FileUploadController 程式碼: package com.example.springdemo.controller; import org.springframework.stereotype.Contro
Spring boot 檔案上傳commons-fileupload
錯誤返回: Required request part 'file' is not present 請檢查你是否引入了這個jar包 自帶了upload files的配置 1.如果沒有 上傳檔案時需要引入並在webMvc配置 <!-- fileup
Spring boot檔案上傳報錯: The temporary upload location is not valid
最近在做Excel匯入時,一次偶然的測試發現bug報錯如下: org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested exception is
Spring Boot教程(十三):Spring Boot檔案上傳
一、建立一個簡單的包含WEB依賴的SpringBoot專案 pom.xml內容: <!-- Spring Boot web啟動器 --> <dependency> <groupId>org.springframe
SpringBoot:spring boot檔案上傳【多檔案上傳】
原文轉自:http://www.vxzsk.com/638.html 檔案上傳主要分以下幾個步驟: (1)新建maven java project; (2)在pom.xml加入相應依賴; (3)新建一個表單頁面(這裡使用thymleaf); (4
詳細全面的Spring Boot檔案上傳
最近再看Spring Boot 就想做一個檔案上傳的url。 如圖: 檔案目錄如下: 在這裡 為什麼不把檔案上傳到resources裡,因為上傳到這裡 必須重新啟專案,才能生效,所以 新建了webapp,像web應用一樣,上傳到這裡。完美解決這個問題。
Spring boot檔案上傳blocked a frame with origin "http://xxx" from accessing a cross-origin frame.
spring boot 上傳檔案,頁面彈出提示:blocked a frame with origin “http://localhost:8080” from accessing a cross-origin frame. 在上傳檔案的過程中,前端報了這
29. Spring boot 檔案上傳(多檔案上傳)【從零開始學Spring Boot】
【視訊&交流平臺】 http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=40000000
Spring boot 檔案上傳(多檔案上傳)【從零開始學Spring Boot】
檔案上傳主要分以下幾個步驟: (1)新建maven java project; (2)在pom.xml加入相應依賴; (3)新建一個表單頁面(這裡使用thymeleaf); (4)編寫controller; (5)測試; (6)對上傳的檔案做一些限制; (7)多檔案上傳
spring boot實現檔案上傳下載以及多檔案上傳
首先是很簡單的介面,在resource/static下建立檔案file.html <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymel
spring實現檔案上傳和下載 完整方案
1. 簡介 提供基於spring實現檔案(筆記附件)的上傳和下載的完整方案。方案將檔案上傳,並將檔名稱作為欄位與關聯的筆記繫結在一起,更新筆記在資料庫中的記錄。顯示筆記時,根據筆記所繫結的檔名生成下載
spring 檔案上傳下載介面
import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.F
[Spring Boot] Spring Boot MultipartFile上傳檔案
Spring Boot 上傳檔案程式碼 Spring Boot 使用MultipartFile來完成檔案上傳 @ResponseBody @RequestMapping(value = "/put") public Boolean putFi