我正在使用此代码将图像上传到 S3
AWSS3TransferManager *transferManager = [AWSS3TransferManager defaultS3TransferManager];
AWSS3TransferManagerUploadRequest *uploadRequest = [AWSS3TransferManagerUploadRequest new];
uploadRequest.bucket = @"my-photo-bucket";
uploadRequest.key = @"test_upload";
long long fileSize = [[[NSFileManager defaultManager] attributesOfItemAtPath:self.imageUrl.path error:nil][NSFileSize] longLongValue];
uploadRequest.contentLength = [NSNumber numberWithUnsignedLongLong:fileSize];
uploadRequest.body = self.imageUrl.absoluteURL;
[[transferManager upload:uploadRequest] continueWithBlock:^id(BFTask *task) {
NSLog(@"%@", task.error);
return nil;
}];
当我尝试上传文件时,它失败了,因为 URL 似乎没有指向我的应用程序可以访问的内容:
2014-09-08 11:57:47.014 myapp[1551:60b] Url: assets-library://asset/asset.JPG?id=721E68A8-DF94-4404-A37D-FECDCDC60C1D&ext=JPG, File Size: (null)
2014-09-08 11:57:47.025 myapp[1551:60b] Error Domain=NSCocoaErrorDomain Code=260 "The operation couldn’t be completed. (Cocoa error 260.)" UserInfo=0x17827c2c0 {NSFilePath=/asset.JPG, NSUnderlyingError=0x178256e60 "The operation couldn’t be completed. No such file or directory"}
对我来说这似乎是一个有效的 URL。我究竟做错了什么?
AWS-SDK-IOS 项目目前似乎不支持此功能。请参阅github 错误报告 https://github.com/aws/aws-sdk-ios/issues/121.
他们建议的解决方法是在开始上传之前将资产复制到您的应用程序目录。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)