【问题标题】:How to extract body and file name from mulitpart file?如何从多部分文件中提取正文和文件名?
【发布时间】:2021-05-10 03:54:56
【问题描述】:

我正在用 Java 编写 AWS lambda。此 lambda 充当 APIGatewayProxyRequestEvent 的处理程序。

API 网关端点正在将文件作为正文中的 multipart/form-data 发送。

public class LambdaHandler extends SpringBootRequestHandler<APIGatewayProxyRequestEvent, APIGatewayProxyResponseEvent> {
   ---

}

在尝试实现业务逻辑时,我首先将正文提取到一个字节数组中

byte[] file = Base64.decodeBase64(event.getBody().getBytes());

但是当我将这些字节写入字符串以从中提取数据时,我得到以下信息:

log.info("file content : {}", new String(file));

output:


----------------------------728667852190241466147817
Content-Disposition: form-data; name=""; filename="testuplode.json"
Content-Type: application/json

this is a test file
----------------------------728667852190241466147817--

如何从多部分文件的字节流中获取文件的唯一内容?

【问题讨论】:

标签: java aws-lambda spring-cloud-function


【解决方案1】:

我发现在使用 Java 时使用 AWS Lambda 处理 Multipart 文件的最佳解决方案是使用 Spring 云函数。请检查以下 GitHub 票证以确认功能可用性:

https://github.com/spring-cloud/spring-cloud-function/issues/597

但是,我还设法使用低级 API 使用核心 java 编写代码,因为该功能在我需要时不可用。我参考了this 博客。

【讨论】:

    猜你喜欢
    • 2018-06-18
    • 1970-01-01
    • 1970-01-01
    • 2019-10-28
    • 1970-01-01
    • 2019-07-12
    • 1970-01-01
    • 2020-11-20
    • 2011-04-28
    相关资源
    最近更新 更多