gpt4 book ai didi

java - 下载文件以在 Amazon S3 上对其进行修改

转载 作者:行者123 更新时间:2023-11-29 08:53:36 28 4
gpt4 key购买 nike

所以我主要使用 S3 来存储音频文件,我使用云端流式传输这些文件。我需要修改这些文件的元数据(不是 s3 对象的元数据,而是音乐的标签),或者将这些文件转换为另一种格式(mp3 到 m4a 等)。所以我看到它的方式我需要将这些文件下载到我的服务器,修改文件或转码这些文件,然后重新上传文件。

我看到了一些方法可以做到这一点,但我对哪种方法是正确的或最好的方法有一些疑问。

所以一种方法是使用以下代码下载文件

S3Object object = s3.getObject(new GetObjectRequest(bucketName, key));
System.out.println("Content-Type: " + object.getObjectMetadata());
//displayTextInputStream(object.getObjectContent());

我可以使用 File 将文件写入我的服务器。我的问题是如何只从 S3Object 获取文件名,我正在查看元数据并尝试使用 getContentDisposition(),但它返回 null,直接在 AWS 控制台中查看我看到文件的正确名称没有路径。

我的另一个想法是使用 cloudfront 下载文件,创建下载分发。

我可以直接使用输入流来修改元数据吗?

最佳答案

您可以将此文件保存在您选择的任何名称下,就像您通过 HTTP 下载的任何其他文件一样。

但是,正如您在问题中提到的:

String disposition = object.getObjectMetadata().getContentDisposition()

应该为您提供可选的 Content-Disposition HTTP header ,它指定对象的表示信息,例如要另存为的对象的推荐文件名。

如果尚未设置 Content-Disposition header ,则此函数返回 null

这来自亚马逊在线文档:有关 Content-Disposition header 如何影响 HTTP 客户端行为的更多信息,请参阅 http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1 .

关于java - 下载文件以在 Amazon S3 上对其进行修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21502948/

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