如何将应用包内容上传到AWS S3

时间:2019-01-08 06:12:37

标签: ios objective-c amazon-web-services amazon-s3

我使用AWS开发工具包iOS v2.8.2将文件上传和下载到AWS S3,除了应用程序包(.app)之外,它都很好用。由于这些软件包基本上是子文件夹的层,因此我一直在上载和下载它们,但是当我尝试运行它们时(上载或下载之后),. app文件已损坏或损坏。这是我从AWS S3下载文件的方式(除了我也定义了contenType之外,上传是相同的):

NSURL *downloadedLocationURL=[NSURL fileURLWithPath:downloadedLocationstring];
NSFileManager *fileManager= [NSFileManager defaultManager];
[fileManager createDirectoryAtPath: [downloadedLocationURL.URLByDeletingLastPathComponent path]
       withIntermediateDirectories:YES
                        attributes:nil
                             error:NULL];

self.transferUtility = [AWSS3TransferUtility S3TransferUtilityForKey:currentBucket.regionShortName];

[self.transferUtility downloadToURL:downloadedLocationURL
                             bucket:bucket.name
                                key:key
                         expression:expression
                  completionHandler:completionHandler]

我意识到我需要以其他方式上传软件包,但不确定如何上传。我应该以任何方式定义contentType吗?我是否应该压缩任何打包内容并以.zip文件上传?大多数其他文件格式似乎都能正常运行,所以我想知道应用程序包的窍门是什么我看不到。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您是否已通过AWS S3控制台确认上传的对象与预期的一样?

您可以直接从AWS控制台下载文件,然后将其引用回您需要的位置,以首先确保正确完成上传。我的另一种猜测是与尝试设置上传内容的类型有关。