【问题标题】:How to get the Object URL in AWS S3 using Amplify from Android如何使用 Amplify 从 Android 获取 AWS S3 中的对象 URL
【发布时间】:2020-01-19 03:46:24
【问题描述】:

在我使用 Kotlin 的 Android 项目中,我使用 Amplify 将图像上传到 AWS S3。该文件使用 transferUtility

上传
val transferUtility = TransferUtility.builder()
            .context(applicationContext)
            .awsConfiguration(AWSMobileClient.getInstance().configuration)
            .s3Client(AmazonS3Client(AWSMobileClient.getInstance()))
            .build()

    val file = File("path_to/file")
    val key = "public/propic/" + user.id+".jpg"
    val uploadObserver = transferUtility.upload(key,file)

uploadObserver.setTransferListener(object : TransferListener {

        override fun onStateChanged(id: Int, state: TransferState) {
            if (TransferState.COMPLETED === state) {
                Toast.makeText(this@UploadActivity, "File Uploaded", Toast.LENGTH_LONG).show()
            }
        }
}

文件正在完美地上传到 AWS S3。上传文件后,我需要获取上传文件的对象 URL。这样我就可以使用 Object URL 从 S3 加载图像视图。

【问题讨论】:

    标签: android amazon-web-services amazon-s3 kotlin


    【解决方案1】:

    为了直接回答这个问题,S3 Bucket 中对象的 URL 是

     https://BUCKET-NAME.s3.amazonaws.com/path/to/file
    

    请注意,要以这种方式访问​​它,对象必须是公开可用的。

    【讨论】:

      猜你喜欢
      • 2017-10-24
      • 2020-01-18
      • 2022-01-03
      • 1970-01-01
      • 2021-03-06
      • 2019-06-09
      • 2021-04-23
      • 1970-01-01
      • 2020-11-08
      相关资源
      最近更新 更多