2017-10-18 193 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 
相关问题