gpt4 book ai didi

java - 使用 Java SDK 将 Quicktime 视频上传到 S3

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

我正在尝试将 Quicktime 视频上传到 S3,但它已损坏。我正在使用 Java SDK。我认为这与多部分有关?我需要做什么来阻止它被损坏。文件正在发送到 S3 ok,但下载和查看时失败。

//upload video to S3
PutObjectRequest request2 = new PutObjectRequest(bucketName, "movie.mov", new File(picturePath + "/" + "movie.mov"));

ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentType("video/quicktime");
request2.setMetadata(metadata);

request2.setCannedAcl(CannedAccessControlList.PublicRead);
s3Client.putObject(request2);

最佳答案

从你的问题,我不知道你是否在使用 v1v2 AWS Java 开发工具包。

我找到了一个 similar issue用户似乎只能上传 .mov小于 5 MB 的文件。要上传大于 5 MB 的文件,您可以尝试使用亚马逊的 high-level multipart upload example使用 TransferManager类,它内置于 AWS Java 开发工具包的 v1。

有了这个,您的代码将如下所示:

try {
TransferManager tm = TransferManagerBuilder.standard()
.withS3Client(s3Client)
.build();

// TransferManager processes all transfers asynchronously,
// so this call returns immediately.
Upload upload = tm.upload(bucketName, "movie.mov",
new File(picturePath + "/" + "movie.mov"));
System.out.println("Object upload started");

// Optionally, wait for the upload to finish before continuing.
upload.waitForCompletion();
System.out.println("Object upload complete");
} catch (AmazonServiceException e) {
// The call was transmitted successfully, but Amazon S3 couldn't process
// it, so it returned an error response.
e.printStackTrace();
} catch (SdkClientException e) {
// Amazon S3 couldn't be contacted for a response, or the client
// couldn't parse the response from Amazon S3.
e.printStackTrace();
}

关于java - 使用 Java SDK 将 Quicktime 视频上传到 S3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59054779/

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