1. 程式人生 > >springboot基於MultipartFile實現檔案上傳

springboot基於MultipartFile實現檔案上傳

MultipartFile是springMVC的jar包,不需要其它座標,可以直接使用

一. 新建controller

@RequestMapping("/uploadTest1")
    public String test1(@RequestParam("imgFile") MultipartFile file, HttpServletRequest request){
        //獲取上傳檔名,包含字尾
        String originalFilename = file.getOriginalFilename();
        //獲取字尾
        String substring = originalFilename.substring(originalFilename.lastIndexOf("."));
        //儲存的檔名
        String dFileName = UUID.randomUUID()+substring;
        //儲存路徑
        //springboot 預設情況下只能載入 resource資料夾下靜態資原始檔
        String path = "D:/workspace/demo2/src/main/resources/static/image/";
        //生成儲存檔案
        File uploadFile = new File(path+dFileName);
        System.out.println(uploadFile);
        //將上傳檔案儲存到路徑
        try {
            file.transferTo(uploadFile);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return "上傳"+dFileName+"成功";
    }

二. 限制上傳檔案大小

在啟動類application.java新增@bean方法

/**
	 * 限制上傳檔案大小
	 */
	@Bean
	public MultipartConfigElement multipartConfigElement(){
		MultipartConfigFactory factory = new MultipartConfigFactory();
		//單個檔案最大 5m 可以使用讀取配置
		factory.setMaxFileSize("5120KB"); //KB,MB
		/// 設定總上傳資料總大小 50m
		factory.setMaxRequestSize("512000KB");
		return factory.createMultipartConfig();
	}

說明: 可以將程式碼中限制大小的值存放到配置檔案中,以讀取配置的形式載入進來.