【问题标题】:Check if File exists in AWS S3 Storage with Amplify使用 Amplify 检查文件是否存在于 AWS S3 存储中
【发布时间】:2020-08-07 16:00:13
【问题描述】:

我正在使用带有 Amplify 的 AWS S3 存储,为了避免多次上传同一个文件,我想检查文件是否已经存在。

目前通过 Amplify 获取下载 url,但如果文件不存在,它也会生成一个 url。我希望它返回一个错误:

_ = Amplify.Storage.getURL(key: "myKey") { event in
switch event {
case let .success(url):
    print("Completed: \(url)")
case let .failure(storageError):
    print("Failed: \(storageError.errorDescription). \(storageError.recoverySuggestion)")
}

}

还有其他方法可以检查文件是否存在于 amplify 中吗?

当然不用下载。 重点是节省流量。

【问题讨论】:

    标签: swift aws-amplify


    【解决方案1】:

    您似乎可以使用Amplify.Storage.list 执行类似的操作,如下所示https://docs.amplify.aws/lib/storage/list/q/platform/ios

    _ = Amplify.Storage.list { event in
        switch event {
        case .success(let listResult):
            let keys = listResult.items.map { $0.key }
            if !keys.contains("myKey") {
                // upload unique file
            }
            
        case .failure(let error):
            print("Failed: \(error.errorDescription).")
        }
    }
    

    【讨论】:

    • 这种方法可行。我有一个包含所有上传对象的列表来检查。
    猜你喜欢
    • 2019-11-10
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 2015-07-27
    • 2016-11-12
    • 2020-11-06
    • 2021-02-10
    • 2022-01-03
    相关资源
    最近更新 更多