簡體   English   中英

用Java將文件寫入Amazon S3

[英]Writing file to amazon s3 in java

我已經在Java中輕松地將小文件上傳到了亞馬遜S3存儲桶。 但是,當我上傳50MB的大文件時,花費的時間太長了,我什至沒有收到異常,但是文件沒有上傳。 我的代碼很簡單

s3client.putObject(new PutObjectRequest("dev.rivet.media.web", "all.wav",new File(file path)));

有人可以建議我克服這個問題嗎

另外,您可以看看https://github.com/minio/minio-java

Minio Java庫提供了更簡單的API來訪問S3兼容的存儲提供程序。

在此庫中,putObject通過內部進行多部分處理來自動管理文件上傳,並從上次停止的地方繼續。

這是一個示例程序。

import io.minio.MinioClient;
import io.minio.errors.ClientException;
import org.xmlpull.v1.XmlPullParserException;

import java.io.FileInputStream;
import java.io.File;
import java.io.IOException;

public class PutObject {
  public static void main(String[] args) throws IOException, XmlPullParserException, ClientException {
    System.out.println("PutObject app");

    // Set s3 endpoint, region is calculated automatically
    MinioClient s3Client = new MinioClient("https://s3.amazonaws.com", "YOUR-ACCESSKEYID", "YOUR-SECRETACCESSKEY");

    File f = new File("C:/java/hello");
    InputStream f = new FileInputStream(f);

    // create object
    s3Client.putObject("bucketName", "objectName", "application/octet-stream",
                       f.length(), f);
  }
}

希望這可以幫助。

暫無
暫無

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

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