检索S3对象的URL

时间:2019-10-16 18:40:58

标签: java amazon-web-services amazon-s3

我正在编写一个微服务,该服务使用S3处理文件上传和短期存储。所需的端点之一应返回S3存储桶中文件的URL。一个不同的端点是文件上传本身,并将生成的fileId返回给用户。此ID是对象在S3中的键。

我尝试将s3client.getUrl与存储桶的名称和上述文件ID结合使用,这会产生错误:“已解决[org.springframework.web.HttpMediaTypeNotSupportedException:内容类型“不支持”]。当我在上传文件的方法中尝试相同的代码时,它返回一个URL(URL不能完全正常工作,但这可能是用户错误问题)。

@Override
  public String getFileByURL(String fileId) {
    try {
      String fileUrl = s3Client.getUrl(s3Config.getBucketName(), fileId).toString();
      return fileUrl;
    } catch (AmazonS3Exception e) {
      log.error("Could not get URL from S3 with " + fileId, e);
      throw e;
    } catch (Exception e) {
      log.error("An unknown exception has occurred. " + fileId, e);
      throw e;
    }
  }

预期结果:S3对象的URL。 实际结果: 2019-10-16 14:38:10.843 WARN 22576 --- [nio-8080-exec-5] .w.s.m.s.DefaultHandlerExceptionResolver:已解决[org.springframework.web.HttpMediaTypeNotSupportedException:内容类型''不支持] 2019-10-16 14:38:10.853警告22576 --- [nio-8080-exec-5] .w.s.m.s.DefaultHandlerExceptionResolver:已解决[org.springframework.web.HttpMediaTypeNotAcceptableException:找不到可接受的表示形式]

0 个答案:

没有答案