问题标签 [multipartfile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
37 浏览

java - Spring Boot 可以设置从控制器端点下载的文件的名称吗?

Java 11 和 Spring Boot 2.5.x 在这里。我知道我可以设置一个控制器来返回文件的内容,如下所示:

但是如果我想控制发回的文件名呢?例如,在服务器端,文件名可能存储为“ image.jpg ”,但我想将其返回为“ <userId>-<YYYY-mm-DD>-image.jpg”,<userId>发出请求的经过身份验证的用户的用户 ID 在哪里<YYYY-mm-DD>,日期在哪里请求是在什么时候提出的?

例如,如果用户 123 于 2021 年 12 月 10 日提出请求,则文件将下载为“ 123-2021-12-10-image.jpg ”,如果用户 234 于 2022 年 1 月 17 日提出请求,它将下载为“ 234-2022-01-17-image.jpg ”。这是否可以在 Spring/Java/服务器端进行控制,还是由 HTTP 客户端(浏览器、PostMan 等)来决定文件名?

0 投票
0 回答
24 浏览

spring - Spring:加载巨大的 multipartFile 并同时将其发送到 Amazon S3 存储桶

实际上,我正在从 API 成功加载文件并将其发送到 S3 存储桶。但是这个文件是multipartFile这样的:

这种情况发生了:

  • MultipartFile完全加载,如果它大于我的 JVM 大小,它会存储在临时文件系统中
  • 文件完全加载后,我进入我的控制器并调用 Amazon S3 来存储我的文件

如果可能的话,我希望不要等待MultipartFile我的 API 完全加载我的 API,并在我收到文件的第一部分时开始将数据存储在 S3 Bucket 中。作为从公开的 API 接收部分数据并同时在 S3 上动态存储部分数据的流。

com.amazonaws.services.s3.AmazonS3用作客户端将数据存储在存储桶上。

0 投票
1 回答
273 浏览

java - 带有包含多部分文件和其他 dto 的 dto 的 Spring MVC POST 请求

我有一个包含其他 DTO 和多部分文件列表的 DTO。我正在尝试处理该 DTO,但我似乎无法读取请求。

从 Swagger UI 创建示例请求时,出现以下异常:

如果我放 @RequestBody 而不是 @ModelAttribute 那么我得到

大摇大摆的依赖:

OpenAPI3.0 配置:

0 投票
0 回答
9 浏览

angular - 我们可以从不同的网络服务器上传一个多部分文件吗

我有两台服务器。一个有 Angular UI,其他 E2c 有 spring boot 应用程序。Spring Boot 应用程序会将文件上传到 S3 文件夹。

两台服务器都在不同的网络上。部署在 AWS 上的 Spring Boot。Angular 部署在 tomcat 服务器上。

如果我试图通过 E2c 实例服务器将文件从 UI 服务器上传到 s3 存储桶,它会因以下错误而失败

UI 服务器是否需要 E2ctmp文件夹的权限?

Spring Boot 应用程序是否需要对文件夹的访问权限tmp

如何从不同的网络上传文件我已经花了很多时间在这无法得到确切的原因和

观察

Spring boot默认文件夹如下

如果上述文件夹不存在,则会抛出多部分异常

/tmp/tomcat.8685241839435729215.8587/work/Tomcat/localhost/ROOT文件上传过程中会保存文件吗?

如何解决

期待快速重播

0 投票
1 回答
73 浏览

java - 自动清理 tomcat 缓存 - 多部分文件临时上传

我有 Spring Boot 应用程序,它允许用户上传多部分文件,我将处理这些文件。我已经阅读了多部分文件的官方文档。

上传的多部分文件内容要么存储在内存中,要么临时存储在磁盘上。在任何一种情况下,如果需要,用户负责将文件内容复制到会话级别或持久存储。临时存储将在请求处理结束时被清除。

这里的问题是 tomcat 内存不足,删除的临时文件保留在 var/cache/tomcat8/work/catalina/localhost/ROOT 文件夹中。

在此处输入图像描述

当我们重新启动 apache 或重新启动机器时,那些已删除的文件将被删除。但是如何从tomcat缓存中自动清理这些文件呢?为什么会发生?无论如何,首先要禁用存储这些临时多部分文件上传吗?

0 投票
0 回答
62 浏览

java - 多部分文件上传错误:无法解析多部分 servlet 请求;嵌套异常是 java.io.IOException

我们有一个 API 来上传文档。我们遇到了一个非常奇怪的错误,我们第一次在我们的服务器上遇到了这个错误。这是 API 结构。

这是错误堆栈跟踪:

API 抛出错误:

这里是关于多部分文件的配置:

无法识别问题。任何人帮助确定问题?

0 投票
0 回答
42 浏览

spring-boot - Swagger-Ui 多部分文件上传

我正在开展一个项目,该项目涉及将视频上传到返回 URL 的 AWS s3,并将其与其他详细信息一起存储在数据库中。我使用 Spring MVC 作为休息控制器,并且使用 Springfox 将 Swagger-ui 与我的控制器集成。在使用邮递员进行测试时,它工作得非常好,但在 swagger-UI 的情况下,会发生视频 URL 为空的异常。

以下是控制器功能

而这个具有视频多部分文件的对象模板

我应该添加任何注释以便文件上传也可以在 swagger-UI 中工作吗?

0 投票
2 回答
43 浏览

java - 读取 Excel 文件的第一个 ZipEntry 时关闭 ZipInputStream

我将 excel 文件的 zip 作为多部分文件上传,但是当我创建第一个文件的 Workbook 对象时,流被关闭并且我无法读取下一个文件。它适用于 zip 中的单个文件,但不适用于多个文件。有人可以帮忙吗?TIA。

0 投票
0 回答
20 浏览

java - Java中多部分文件的MagicNumbers

我正在尝试在 Java 中实现幻数检查器。文件作为 MultipartFile 发送到服务器,当我检查文件(例如 PDF)而不是 0x25、0x50 时,它给了我很多不同的数字,是因为将文件存储在多个文件中吗?如果是这样,我怎样才能检查那些神奇的数字?

0 投票
0 回答
23 浏览

spring - java - 为什么java Spring在初始化awsS3Client时没有为aws sdk返回此类方法异常

我正在尝试将动态对象上传到我的 Web 应用程序的 s3 存储桶中。但是在初始化 AWS3Client 期间没有遇到此类方法错误。最初,输入是一个多部分图像,将其保存到本地机器中,然后将其用于将其上传到 s3 存储桶中。如第一张图所示,在上传过程中出现 No such method 异常。 客户端初始化期间的异常快照

此外,在第二张图片中指定了用于 pom 的亚马逊依赖项。 pom-Amazon_dependency

以下是用于在应用程序中启动 s3client 的代码。

以下是有关问题 Pom 依赖项的更多详细信息

将对象上传到 s3 存储桶的代码:

错误说明:

02:54,190 信息:保存文档 5f5ab725-0403-4554-b62c-674130c9a8f2-1643628704942 下:/data/ihealwell/patients/ImagePrescription/20808/ 2022 年 1 月 31 日 5:07:27 PM org.apache.catalina.core.StandardWrapper在路径 [/IHW] 的上下文中为 servlet [api-dispatcher] 调用严重的 Servlet.service() 引发异常 [处理程序处理失败;嵌套异常是 java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.ObjectMapper.enable([Lcom/fasterxml/jackson/core/JsonParser$Feature;)Lcom/fasterxml/jackson/databind/ObjectMapper;] 根本原因是 java .lang.NoSuchMethodError: com.fasterxml.jackson.databind.ObjectMapper.enable([Lcom/fasterxml/jackson/core/JsonParser$Feature;)Lcom/fasterxml/jackson/databind/ObjectMapper; 在 com.amazonaws.regions.RegionMetadataFactory 的 com.amazonaws.partitions.PartitionsLoader.(PartitionsLoader.java:54)。