1

我有一些代码尝试将图像上传到 s3 存储桶。它们都在 100-200kb 左右。

但是,经过几次尝试上传后,我总是得到以下堆栈跟踪:

com.amazonaws.AmazonClientException:无法执行 HTTP 请求:超时等待来自 com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:713) 处 com.amazonaws.http.AmazonHttpClient.doExecute(AmazonHttpClient.java: 453) 在 com.amazonaws.http.AmazonHttpClient.executeWithTimer(AmazonHttpClient.java:415) 在 com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:364) 在 com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client .java:3964) 在 com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1538)

如果我在我的代码上执行 GetObject,我不会遇到这个问题,只有在上传时。

代码如下:

public PutObjectResult uploadImage(String key, InputStream inputStream, ObjectMetadata metadata) {
        Optional<String> bucketName = propertyResolver.instance().value("s3.bucket.url");
        String resourcePath = BASE_PATH + key;

        PutObjectRequest request = new PutObjectRequest(bucketName.get(), resourcePath, inputStream, metadata);
        PutObjectResult result;
        try {
            result = s3Client.putObject(request);
        } catch (AmazonClientException amazonClientException) {
            amazonClientException.printStackTrace();
        }

        return result;
    }

我试图在网上找到解决方案,但我能找到的只是有关 GetObject 的问题并且没有正确使用响应。

4

0 回答 0