簡體   English   中英

AmazonS3Client:從s3下載時jar文件損壞

[英]AmazonS3Client: jar file corrupted on download from s3

我正在嘗試使用AmazonS3Client下載jar文件。 但是下載后,無法執行獲得的jar文件已損壞。

我正在使用以下程序:

    String existingBucketName = args[0];
    String keyName = "/" + "EMRS3Files-1.0-SNAPSHOT-jar-with-dependencies.jar";

    BasicAWSCredentials awsCreds = new BasicAWSCredentials("access-key", "secret-key");
    AmazonS3 s3Client = new AmazonS3Client(awsCreds);

    GetObjectRequest request = new GetObjectRequest(existingBucketName, keyName);
    S3Object object = s3Client.getObject(request);
    S3ObjectInputStream objectContent = object.getObjectContent();

    IOUtils.copy(objectContent, new FileOutputStream("/tmp/abc.jar"));

在運行/tmp/abc.jar文件時,出現以下錯誤:

Error: Invalid or corrupt jarfile abc.jar

您是否嘗試過手動(使用瀏覽器)下載並運行它?

可能是AmazonS3以某種方式破壞了它,而不是您的程序。

以下工作:

    GetObjectRequest request = new GetObjectRequest(existingBucketName, keyName);
    S3Object object = s3Client.getObject(request);
    S3ObjectInputStream objectContent = object.getObjectContent();
    FileOutputStream fos = new FileOutputStream("/tmp/abc.jar");

    byte[] buffer = new byte[4096];

    int buf = 0;
    while((buf = objectContent.read(buffer)) > 0)
    {
        fos.write(buffer, 0, buf);
    }
    fos.close();

暫無
暫無

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

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