मुझे एक अजीब समस्या का सामना करना पड़ा। मैं NSURLSession
और NSURLSessionDownloadTask
का उपयोग कर इंटरनेट से फ़ाइल लोड करता हूं। यहाँ कोडकुलबाइट्सएक्सेटेड टॉवाइट -1 है NSRLSessionDownloadTask
NSURLSessionConfiguration *sessionConfiguration =
[NSURLSessionConfiguration backgroundSessionConfiguration:kSessionId];
self.session = [NSURLSession sessionWithConfiguration:sessionConfiguration
delegate:self
delegateQueue:[NSOperationQueue new]];
NSURL *url = [NSURL URLWithString:urlString];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
NSURLSessionDownloadTask *downloadTask = [self.session downloadTaskWithRequest:request];
[downloadTask resume];
मेरी कक्षा NSURLSessionDownloadDelegate
के रूप में घोषित किया जाता है और मैं अच्छी तरह से कॉलबैक मिलता है। लेकिन सिस्टम
- (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didWriteData:(int64_t)bytesWritten totalBytesWritten:(int64_t)totalBytesWritten totalBytesExpectedToWrite:(int64_t)totalBytesExpectedToWrite
{
NSLog(@"totalBytesExpectedToWrite: %lld", totalBytesExpectedToWrite);
NSLog(@"%lld", totalBytesWritten);
}
totalBytesExpectedToWrite
हमेशा समान -1
कॉल प्रतिनिधि विधि और मैं उपयोगकर्ता के लिए एक प्रगति दिखाने के लिए है क्योंकि मैं डाउनलोड फ़ाइल के आकार पता नहीं है कोई क्षमता है जब।
क्या आप मुझे बता सकते हैं कि मैंने गलती की है?
यह एक सर्वर समस्या जहां यह ठीक से 'सामग्री-Length' हैडर नहीं भेज रहा है हो सकता है की जरूरत है । यदि आप अपने ब्राउज़र में एक ही यूआरएल का उपयोग करते हैं, तो क्या आपका ब्राउज़र उचित प्रगति दिखाता है? – rmaddy