我目前需要將大型文件從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