簡體   English   中英

使用 Java SDK 將 Quicktime 視頻上傳到 S3

[英]Upload Quicktime video to S3 using Java SDK

我正在嘗試將 Quicktime 視頻上傳到 S3,但它已損壞。 我正在使用 Java SDK。 我認為這與多部分有關? 我需要做什么來阻止它被破壞。 文件正在發送到 S3 正常,但下載和查看時失敗。

//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);

根據您的問題,我無法判斷您使用的是 AWS Java SDK 的v1還是v2

我發現了一個類似的問題,用戶似乎只能上傳小於 5 MB 的.mov文件。 要上傳大於 5 MB 的文件,您可以嘗試使用 Amazon 的高級分段上傳示例,該示例使用TransferManager類,該類內置於 AWS Java SDK 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();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM