更新 Amazon S3 中的文件但保留相同的 url

问题描述 投票:0回答:1

我有一个应用程序,可以将图像上传到 Amazon S3 服务。 我已经实现了“更新”流程(删除并再次重新添加新图像)。

有没有一种方法可以更新图像数据,而不需要每次调用删除和重新添加函数,并更新新的 URL?

我正在使用 AWS iOS Swift SDK

//=>    Delete old profile image
if let originalImageUrl    = SessionManager.shared.curAccount?.pictureURL {
    let str                 = originalImageUrl.components(separatedBy: "/")

    let s3                  = AWSS3.default()
    let deleteRequest       = AWSS3DeleteObjectRequest()
    deleteRequest?.bucket   = Constants.AWS_S3.S3BucketName
    deleteRequest?.key      = str.last

    s3.deleteObject(deleteRequest!, completionHandler: { (s3Output, error) in
       if error != nil {
          self?.viewModel.profileOriginalImgURL.value   = originalImageUrl
       }
    })
}

对于上传,类似的东西:

if let uploadRequest = AWSS3TransferManagerUploadRequest() {

    uploadRequest.body = urlProfileImageDir
    uploadRequest.key = ProcessInfo.processInfo.globallyUniqueString + "." + ext
    uploadRequest.bucket = Constants.AWS_S3.S3BucketName + "/" + Constants.AWS_S3.FolderProfileImages
    uploadRequest.contentType = "image/" + ext

    if let transferManager = AWSS3TransferManager.default() {
        transferManager.upload(uploadRequest).continue({ (task) -> Any? in
            if let error = task.error {
.....
amazon-s3 swift3
1个回答
0
投票

我不确定AWS iOS Swift SDK是如何工作的,但你可以上传具有相同名称的图像,它将更新旧版本,并保持相同的URL。

© www.soinside.com 2019 - 2024. All rights reserved.