第七章:文件上傳-2. 上傳限制

雖然如今已經實現了上傳操做,可是這個時候的上傳是沒有限制的,也就是說你能夠上傳任意大小的文件,在實際的開發之中是不可能存在的,因此必須對上傳進行一些限制處理。java

若是要想去改變上傳的限制,那麼最好的作法是進行application.yml配置文件的變動web

server:
  port: 80
spring:
  messages:
    basename: i18n/Messages,i18n/Pages
  http:
    multipart:
      enabled: true     # 能夠啓用http上傳
      max-file-size: 1KB  # 設置支持的單個上傳文件的大小限制
      max-request-size: 20MB # 設置最大的請求的文件大小,設置整體大小請求
      file-size-threshold: 512KB   # 當上傳文件達到指定配置量的時候會將文件內容寫入磁盤

那麼此時就能夠經過以上的文件實現上傳的處理限制。spring

對於上傳的配置限制,除了採用以上配置文件編寫以外,也能夠單獨編寫一個配置程序類。app

範例:創建一個上傳的配置程序類:code

server:
  port: 80
spring:
  messages:
    basename: i18n/Messages,i18n/Pages
#  http:
#    multipart:
#      enabled: true     # 能夠啓用http上傳
#      max-file-size: 1KB  # 設置支持的單個上傳文件的大小限制
#      max-request-size: 20MB # 設置最大的請求的文件大小,設置整體大小請求
#      file-size-threshold: 512KB   # 當上傳文件達到指定配置量的時候會將文件內容寫入磁盤
#      location: /       # 設置上傳的臨時目錄
package cn.mldn.microboot.config;

import javax.servlet.MultipartConfigElement;

import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class UploadConfig { 
	@Bean
	public MultipartConfigElement getMultipartConfig() {
		MultipartConfigFactory config = new MultipartConfigFactory() ;
		config.setMaxFileSize("10MB"); 	// 設置上傳文件的單個大小限制
		config.setMaxRequestSize("100MB"); 	// 設置總的上傳的大小限制
		config.setLocation("/"); // 設置臨時保存目錄
		return config.createMultipartConfig() ;	// 建立一個上傳配置
	}
}

在之後的開發之中此類上傳的配置程序會常常性出現。server

相關文章
相關標籤/搜索