Изменение предельного размера для загрузки файла при весенней загрузке 2.1.2 - PullRequest
0 голосов
/ 18 мая 2019

Я работаю над проектом с угловым интерфейсом и бэкендом Springboot 2.1.2 и реализовал способ загрузки изображений.Однако он работает только в том случае, если размер изображения <1 МБ, большие изображения вызывают исключение: </p>

org.apache.tomcat.util.http.fileupload.FileUploadBase $ FileSizeLimitExceededException: изображение поля превышает максимально допустимый размер1048576 байт

Я уже просмотрел этот вопрос: Я пытаюсь установить maxFileSize, но это не соблюдается Ограничение размера файла загрузки Spring

Я попытался добавить

spring.servlet.multipart.max-File-Size: 30MB 
spring.servlet.multipart.max-Request-Size: 30MB

, и когда это не сработало также

spring.servlet.multipart.maxFileSize: 30MB
spring.servlet.multipart.maxRequestSize: 30MB

в мой application.yml, нииз которых, казалось, ничего не делал.

Я также нашел это: https://www.baeldung.com/spring-maxuploadsizeexceeded

и попытался установить предел, как описано в пункте 2 этого сайта.

Ничего из этогосделал свое дело.Есть идеи, что я делаю не так?Вот мой application.yml:

logging:
  file: ./log/backend.log
  level.: WARN

banner:
  location: banner/banner.txt

server:
  context-path: /

spring:
  application:
    name: Backend
  jpa:
    hibernate:
      ddl-auto: validate
      use-new-id-generator-mappings: true
  profiles:
    active: development
  http:
    multipart:
      maxFileSize: 30MB
      maxRequestSize: 30MB

security:
  basic:
    enabled: false

management:
  info:
    git:
      mode: full

Вот мой контроллер:

@RestController
@RequestMapping(value = "/api/v1/image")
@Api(value = "Image")
public class ImageEndpoint {

    @Autowired
    private ImageMapper imageMapper;
    @Autowired
    private IImageService imageService;

    @RequestMapping(method = RequestMethod.POST)
    @PreAuthorize("hasRole('ADMIN')")
    @ApiOperation(value = "Upload a new image", authorizations = {@Authorization(value = "apiKey")})
    @ResponseStatus(HttpStatus.OK)
    public @ResponseHeader Long post(@RequestParam ("image") MultipartFile input){
        try {
            return imageService.save(imageMapper.dtoToEntitiy(new ImageDto(input.getBytes())));
        }catch (IOException io){
            throw new ResponseStatusException(HttpStatus.BAD_REQUEST);
        }
    }

Обновление:

  servlet:
    multipart:
      max-request-size: 30MB
      max-file-size: 30MB

это сделаноработать, я просто перекомпилировал после добавления его вначале, чтобы изменения не проходили, мне просто пришлось пересобрать, чтобы он заработал.

1 Ответ

0 голосов
/ 18 мая 2019

Можете ли вы попробовать следующую конфигурацию в файле свойств?

multipart.max-file-size=30MB
multipart.max-request-size=30MB

В случае конфигурации yml добавьте следующие настройки.

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

Чтобы загрузить файл неограниченной длины, вы можете установить ниже.

spring.http.multipart.max-file-size=-1

Надеюсь, это работает для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...