第三篇:springboot文件上傳

springboot中文件上傳和springmvc文件上傳並無什麼大的不一樣,只是在springboot中少了些配置,好比上傳文件大小和文件類型html

1.新建一個頁面用戶測試文件上傳spring

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>index</title>
</head>
<body>

<h2>hello  world!static!</h2>

<form action="/sp/upload" method="post" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" value="上傳">
</form>

</body>
</html>

 

2.編寫後臺邏輯springboot

@RequestMapping("/upload")
	public String uploadFile(@RequestParam("file")MultipartFile multipartFile){
		String fileName=multipartFile.getOriginalFilename();
		System.out.println("fileName:"+fileName);
		String filePath="d:/upload/"+ UUID.randomUUID().toString()+fileName.substring(fileName.indexOf("."));
		try {
			multipartFile.transferTo(new File(filePath));
		} catch (IOException e) {
			e.printStackTrace();
			return "上傳失敗";
		}
		return "上傳成功";
	}

注意點:mvc

1.使用@RequestParam("file")接收參數,這個file須要和html頁面中的input框的name=「」file「」對應app

2.MultipartFile 對象的transferTo方法,用於文件保存(效率和操做比原先用FileOutStream方便和高效)dom

3.確保保存文件的路徑已經存在,或者在代碼裏面作出判斷和處理post

三、文件上傳大小限制測試

在啓動類中加入下面這個beanspa

         
            @Bean  
            public MultipartConfigElement multipartConfigElement() {  
                MultipartConfigFactory factory = new MultipartConfigFactory();  
                //單個文件最大  
                factory.setMaxFileSize("10240KB"); //KB,MB  
                /// 設置總上傳數據總大小  
                factory.setMaxRequestSize("1024000KB");  
                return factory.createMultipartConfig();  
            } 

 

4.啓動項目測試3d

相關文章
相關標籤/搜索