得到的NSData鑑於這樣的網址:如何從視頻文件在磁盤上
file:///private/var/mobile/Applications/C133BAE7-0CBC-4E4F-826B-509B5E1EB68E/tmp/uzhMyDkL0mSI-SCVideo-Merged.mov
我怎樣才能得到這個NSData的表示發送到服務器?我試過所有這些:
NSData *videoData = [NSData dataWithContentsOfURL:url];
NSData *videoData = [NSData dataWithContentsOfFile:[url absoluteString]];
NSData *videoData = [[NSFileManager defaultManager] contentsAtPath:[url path]];
videoData
每次都是零。
編輯: 對於更多的上下文,我試圖用SCRecorder捕捉視頻。
- (void)recorder:(SCRecorder *__nonnull)recorder didCompleteSegment:(SCRecordSessionSegment *__nullable)segment inSession:(SCRecordSession *__nonnull)session error:(NSError *__nullable)error {
[session mergeSegmentsUsingPreset:AVAssetExportPresetHighestQuality completionHandler:^(NSURL *url, NSError *error) {
if (error == nil) {
//NSData *videoData = [NSData dataWithContentsOfURL:url];
//NSData *videoData = [NSData dataWithContentsOfFile:[url absoluteString]];
NSData *videoData = [[NSFileManager defaultManager] contentsAtPath:[url path]];
} else {
NSLog(@"Bad things happened: %@", error);
}
}];
}
你是如何獲得URL的? – rmaddy
是否可以在開頭或網址有三個斜槓? – heximal
@heximal - 'file:///'scheme中的第三個斜槓實際上是指定設備文件系統的根目錄。把它想成是指「'/ private/var/mobile ...'」 –