2017-10-18 189 views
0

在Spring中使用Jhipster和Mongo和Gridfs來處理db中保存的文件。當我嘗試上傳文件超過1Mb的它給了我一個500錯誤:帶有gridfs大小限制異常的Spring多部分文件上傳

java.io.IOException: UT000054: The maximum size 1048576 for an individual file in a multipart request was exceeded 

試圖設置這應用dev.yml沒有成功:

spring: 
    http: 
     multipart: 
      max-file-size: 10MB 
      max-request-size: 10MB 

怎麼會這樣的限制是改變了嗎?

+0

這春天啓動的版本是你在用嗎? – araknoid

+0

@araknoid 1.5.2 – neptune

回答

0

而是在你application-dev.yml配置它,你可以在你的application.properties文件中配置這2個屬性:

spring.http.multipart.max-file-size=10MB 
spring.http.multipart.max-request-size=10MB 

有關更多信息,你可以給一個檢查Spring Uploading file指南。請注意,如果您稍後決定遷移到spring-boot 2.0,則這些屬性已從spring.http.multipart更改爲spring.servlet.multipart

+0

我沒有'application.properties',而是'application.yml'。試過那裏,沒有效果。據我所知'application-dev.yml'應該重寫'application.yml'設置。無論如何,我擁有它,仍然沒有工作。 – neptune

+0

你確定spring引導正確地選擇你的application-dev.yml文件嗎?還有其他的yml文件嗎? – araknoid

+0

是的,使用application-dev.yml進行一些其他設置也沒問題 – neptune

1

爲JHipster使用的暗流,確定這是設置上傳大小在multipart解析器豆這樣的方式:

@Configuration 
public class UndertowConfiguration { 

    @Value("${spring.http.multipart.max-file-size:10}") 
    private long maxFileSize; 

    @Bean(name = "multipartResolver") 
    public MultipartResolver multipartResolver() { 
     CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(); 
     multipartResolver.setDefaultEncoding("utf-8"); 
     multipartResolver.setResolveLazily(true); 
     multipartResolver.setMaxUploadSize(1024*1024*maxFileSize); 
     multipartResolver.setMaxUploadSizePerFile(1024*1024*maxFileSize); 
     return multipartResolver; 
    } 
} 
0

試試這個,

spring: 
    servlet: 
     multipart: 
      max-file-size: 10MB 
      max-request-size: 10MB 
相關問題