मैं वर्तमान में एक आईपैड आईओएस 6 एप्लीकेशन विकसित कर रहा हूं जो एसिंक डाउनलोड का उपयोग करता है। प्रगति जानकारी प्राप्त करने के लिए मैंने प्रतिनिधि NSURLConnectionDownloadDelegate
का उपयोग किया। डाउनलोड और प्रगतिNSURLConnectionDownloadDelegate destinationURL
– connection:didWriteData:totalBytesWritten:expectedTotalBytes:
काम करता है ठीक से प्राप्त किया।
हालांकि एक बार डाउनलोड समाप्त हो गया है, मुझे नहीं पता NSURL
destinationURL
delegatemethod
– connectionDidFinishDownloading:destinationURL:
DESTINATIONURL स्ट्रिंग में प्राप्त द्वारा प्रदान से बाहर डेटा निकालने के लिए कैसे की तरह "/private/var/mobile/Applications/7CB3B194-9E79-4F0B-ACFD-7B87AA8C7BAF/tmp/filename.mp4
"
फिर मैं दिए गए NSURL से डेटा निकालने का प्रयास करता हूं:
NSData *data = [[NSData alloc] initWithContentsOfURL:destinationURL];
डेटा तथापि खाली है ...
NSLog(@"data Size: %@", data.length); //prints out 0
किसी NSURLConnectionDownloadDelegate
उपयोग करके एक ही मुद्दा है? किसी भी विचार को हल करने के लिए कैसे?
संपादित करें: मैं पहली बार फ़ाइल की प्रतिलिपि करने, और फिर [NSData initWithContentsOFFile]
का उपयोग के रूप में सुझाव कोशिश की, लेकिन डेटा का आकार अभी भी 0.
- (void) connectionDidFinishDownloading:(NSURLConnection *)connection destinationURL:(NSURL *)destinationURL
{
[[NSFileManager defaultManager] copyItemAtPath:destinationURL.path toPath:DEST_PATH error:nil];
NSData *data = [[NSData alloc] initWithContentsOfFile:DEST_PATH];
NSLog(@"data Size: %i", data.length); //still returns 0..
}
है EDIT2: मैं NSData
निकाल सकते हैं NSURLConnection
की विधि का उपयोग करते समय। हालांकि इस तरह, मैं डाउनलोड की प्रगति निर्धारित करने में सक्षम नहीं कर रहा हूँ ...
[NSURLConnection sendAsynchronousRequest:theRequest queue:[[NSOperationQueue alloc] init] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error){
if (data){
NSLog(@"Size of the data: %i Bytes(s)", data.length); //works fine
[data writeToFile:DEST_PATH atomically:YES];
//From this point i can use the file at DEST_PATH
NSLog(@"Succeeded!");
}
else if (error)
NSLog(@"%@",error);
}];
क्या आप अपनी सामग्री पथ पर फ़ाइल की प्रतिलिपि और वहाँ यह खोलने का प्रयास करता है, तो? – jimpic
इस उत्तर का प्रयास करें: http://stackoverflow.com/questions/12582849/nsurlconnectiondownloaddelegate-expectedtotalbytes-zero-in-ios-6 – emrys57
क्या आपने पिछली टिप्पणी का उत्तर देखा है? – emrys57