iOS-从亚马逊S3上下载文件

pod 'AWSMobileClient'
pod 'AWSS3'

  • Swift5.3
    import AWSCore
    import AWSS3
    private func downloadFileFromS3() {

        let accessKey = "你的accessKey"
        let secretKey = "你的secretKey"
        let bucketStr = "你的bucketStr"
        
        let credentialsProvider = AWSStaticCredentialsProvider(accessKey: accessKey, secretKey: secretKey)
        let configuration = AWSServiceConfiguration(region: .APNortheast1, credentialsProvider: credentialsProvider)
        
        AWSServiceManager.default().defaultServiceConfiguration = configuration

        let expression = AWSS3TransferUtilityDownloadExpression()
        expression.progressBlock = {(task, progress) in

            print("progress = \(progress.fractionCompleted) -----\(task)")
        }

        var completionHandler: AWSS3TransferUtilityDownloadCompletionHandlerBlock?
        completionHandler = { (task, location, data, error) -> Void in
                if let error = error {
                    NSLog("Failed with error: \(error)")
                    print("Failed")
                }
                else{
                    
                    print("Download Success")
                    }
            }

            let transferUtility = {
                AWSS3TransferUtility.default()
            }()
            
        let downLoadPath = "你的下载地址"
        transferUtility.downloadData(fromBucket: bucketStr, key: downLoadPath, expression: expression, completionHandler: completionHandler).continueWith { (task) -> AnyObject? in
            if let error = task.error {
                NSLog("Error: %@",error.localizedDescription);
            }

            if let _ = task.result {
                print("Download Starting!")
                // Do something with uploadTask.
            }
            return nil;
        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容