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

标签 java amazon-s3

我正在尝试将 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/

相关文章:

java - 构建 FAST Web 服务以使用 jersey 从 aws s3 下载图像

java - Spring - MVC - 在重新显示给用户之前清理 URL

java - 是否有一个好的 XML 解析器可以对 XML 文件进行光扫描以获取元素的字节偏移量?

java - 显示 unicode 字符 - Android

java - Maven Java EE 配置

java - 如何检查和替换字符串中的字符序列?

amazon-web-services - AWS Bucket 策略允许 cloudformation 加载 Lambda 函数层

ssl - 对 Amazon Trust Services 迁移的 boto 支持

amazon-s3 - Databricks 中的显式表分区如何影响写入性能?

api - 如何使用 POSTMAN 应用程序将文件上传到 Amazon S3