【问题标题】:Request Time Out Error while uploading to Amazon S3 with InputStream使用 InputStream 上传到 Amazon S3 时出现请求超时错误
【发布时间】:2014-03-11 23:33:28
【问题描述】:

我正在尝试使用 InputStream 在亚马逊 S3 上上传文件,我的代码如下,我收到请求超时错误,文件大小非常小,大约 1 MB。

ObjectMetadata metadata = new ObjectMetadata();
Long contentLength = Long.valueOf(IOUtils.toByteArray(fis).length);
metadata.setContentLength(contentLength);
try {

    s3Handler.putObject(new PutObjectRequest(bucketName, s3key, fis,metadata));
} catch (AmazonServiceException ase) {
    s3ExceptionHandler.processAmazonServiceException(ase);
} catch (AmazonClientException ace) {
    s3ExceptionHandler.processAmazonClientException(ace);
}

请求超时:--

Your socket connection to the server was not read from or written to within the timeout period. Idle connections will be closed.
Jan 30, 2013 10:15:42 AM javacode.S3ExceptionHandler processAmazonServiceException
SEVERE: HTTP Status Code: 400
Jan 30, 2013 10:15:42 AM javacode.S3ExceptionHandler processAmazonServiceException
SEVERE: AWS Error Code:   RequestTimeout

当我使用文件而不是 inputstream 时它工作正常,但问题是我只有 inputStream 对象可用。

请帮忙。

【问题讨论】:

    标签: file-upload amazon-s3


    【解决方案1】:

    看这个:amazon s3 upload file time out

    之后重置您的连接:

    长内容长度 = Long.valueOf(IOUtils.toByteArray(fis).length);

    fis.reset();

    s3Handler.putObject(new PutObjectRequest(bucketName, s3key, fis,metadata));

    对我有用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-06
      • 1970-01-01
      • 2011-02-25
      • 2015-10-28
      • 1970-01-01
      相关资源
      最近更新 更多