我目前需要将大型文件从iDevice上传到服务器API。为此,我试图使用ASIHTTPRequest库,因为它自动支持在排队块中上传大文件(在此之前,我只是简单地为整个文件创建一个带有字节的NSData实例并将其附加到POST消息中,但这会导致由于RAM使用量过大,应用程序在更大的文件上崩溃)。ASIHTTPRequest - 从相机胶卷上传文件
的问题是,当你需要上传的文件和文件添加到HTTP POST消息,这是你需要使用的语法:
[theUploadRequest setFile:@"" forKey:@"videoupload"];
setFile需要一个字符串格式的文件路径。我目前遇到的问题是,它似乎不允许您从文件夹中取出不在应用程序沙箱中的文件路径?由于我需要上传一个不在我的应用程序中,但在标准摄像头以外的文件。
我试图使这个简单的测试,看看我能创造一个NSData对象,并使用从cameraroll文件中的数据填充它,提供了一个路径,它是这样的:
NSData *testData = [NSData dataWithContentsOfURL:theContent.defaultRepresentation.url];
NSLog(@"THE SIZE OF THE TEST DATA: %i", testData.length);
注意“ “内容”是ALAsset的一个实例,并且是从相机中检索的文件。这个结果只是0的长度,我想这意味着你不能简单地做到这一点。
有没有办法解决这个问题?或者我必须以某种方式将视频文件导入到应用程序的沙箱中?
aha是从第一个链接的功能完美工作:)感谢您的帮助! – CodingBeagle 2012-04-12 10:20:28