gpt4 book ai didi

java - 将图像上传到 S3 存储桶 - Java SDK

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:06:44 25 4
gpt4 key购买 nike

我正在开发一个连接到我的 Tomcat/Jersey 服务器的 iOS 应用程序。

我目前将图像上传到 S3 的方式是使用以下工作流程:
- 使用 POST 请求多部分表单数据将图像上传到我服务器上的临时文件夹
- 从临时文件夹中获取文件并使用 Amazon Java SDK 我将其上传到 S3
- 一旦上传到 S3 完成,从服务器上的临时文件夹中删除图像文件

我不希望我的 iOS 应用程序直接上传到 S3,因为我想通过我的服务器执行一些操作,但在我看来,这似乎是多余的,并且会使该过程比它可能需要的速度慢。有没有办法直接通过 Amazon SDK 流式传输文件,而不必将其临时保存到我的服务器?

最佳答案

感谢您的建议。我使用您的答案通过 Amazon SDK 直接上传输入流来解决它,如下所示:

byte[] contents = IOUtils.toByteArray(inputStream);
InputStream stream = new ByteArrayInputStream(contents);

ObjectMetadata meta = new ObjectMetadata();
meta.setContentLength(contents.length);
meta.setContentType("image/png");

s3client.putObject(new PutObjectRequest(
bucketName, fileName, stream, meta)
.withCannedAcl(CannedAccessControlList.Private));

inputStream.close();

inputStream 是从 iOS 应用程序接收到我的服务器的输入流,s3client 是使用 BasicAWSCredentials 初始化的 AmazonS3Client

关于java - 将图像上传到 S3 存储桶 - Java SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35582224/

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