gpt4 book ai didi

spring - 禁用 Controller 的Spring Boot分段上传

转载 作者:行者123 更新时间:2023-12-04 15:32:06 25 4
gpt4 key购买 nike

我正在使用Spring Boot来上传文件。文件大小通常约为2GB,我们不能使用默认的spring boot StandardServletMultipartResolverCommonsMultipartResolver,因为服务器的资源(磁盘空间)或用于缓冲的内存有限。因此,我们希望获得文件输入团队并将文件直接存储到云存储中。

我知道spring boot具有multipart.enabled属性,因此我可以将其设置为false以跳过spring MultipartResolver。但这会全局禁用多部分功能。有谁知道是否有一种方法可以通过 Controller /方法禁用多部分功能?

最佳答案

如果启用resolve-lazily,结果正是我认为的要求。

spring.servlet.multipart.enabled = true
spring.servlet.multipart.resolve-lazily = true

现在,您可以使用两种签名形式编写 Controller 。

由内置的多部分分解程序进行预解析...
@PostMapping("/upload1")
public ResponseEntity<Void> postUpload1(
@RequestParam("metadata") MultipartFile metadata,
@RequestParam("payload") MultipartFile payload)

或后期解析(您可以自己解析)...
@PostMapping(path = "/upload2", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public ResponseEntity<Void> postUpload2(HttpServletRequest rawRequest)

关于spring - 禁用 Controller 的Spring Boot分段上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38133381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com