1. 程式人生 > >springboot---web 應用開發-文件上傳

springboot---web 應用開發-文件上傳

lec clas bst for boot multi 成功 suffix www.

一、Spring Boot 默認使用 springMVC 包裝好的解析器進行上傳

二、添加代碼

<form method="POST" enctype="multipart/form-data" action="/file/upload"> 
文件:<input type="file" name="roncooFile" /> 
<input type="submit" value="上傳" /> 
</form> 


@Controller 
@RequestMapping(value = "/file") 
public class FileController { 

private static final Logger logger = LoggerFactory.getLogger(FileController.class); 

@RequestMapping(value = "upload") 
@ResponseBody 
public String upload(@RequestParam("roncooFile") MultipartFile file) { 
if (file.isEmpty()) { 
return "文件為空"; 
} 

// 獲取文件名 
String fileName = file.getOriginalFilename(); 
logger.info("上傳的文件名為:" + fileName); 

// 獲取文件的後綴名 
String suffixName = fileName.substring(fileName.lastIndexOf(".")); 
logger.info("上傳的後綴名為:" + suffixName); 

// 文件上傳路徑 
String filePath = "d:/roncoo/ttt/"; 

// 解決中文問題,liunx 下中文路徑,圖片顯示問題 
// fileName = UUID.randomUUID() + suffixName; 

File dest = new File(filePath + fileName); 

// 檢測是否存在目錄 
if (!dest.getParentFile().exists()) { 
Spring Boot基礎教程 作者:馮永偉 
2 
龍果學院:http://www.roncoo.com 
dest.getParentFile().mkdirs(); 
} 

try { 
file.transferTo(dest); 
return "上傳成功"; 
} catch (IllegalStateException e) { 
e.printStackTrace(); 
} catch (IOException e) { 
e.printStackTrace(); 
} 
return "上傳失敗"; 
} 

  


}
三、配置
spring.http.multipart.enabled=true #默認支持文件上傳.
spring.http.multipart.file-size-threshold=0 #支持文件寫入磁盤.
spring.http.multipart.location= # 上傳文件的臨時目錄
spring.http.multipart.max-file-size=1Mb # 最大支持文件大小
spring.http.multipart.max-request-size=10Mb # 最大支持請求大小

springboot---web 應用開發-文件上傳