私は無駄にグーグルしてきました、そしてこれについてのあなたの助けを願っています。
AFHTTPRequestOperationストリーミングを使用して(outputstreamを設定して)画像をダウンロードしようとしました。ファイルをダウンロードします。問題ありません。ただし、totalBytesExpectedToReadは常に-1を返し、ダウンロードが完了したときにのみ正しい値を返すため、進行状況バーは正しく表示されません。
これはストリーミングの性質ですか?それとも私は何か間違ったことをしましたか?
以下の私のコード。
前もって感謝します!
(void)invokeAsynchronousSTREAMING:(NSString *)path locationToSave:(NSString *)locationToSave parameters:(NSDictionary *)paramDict callId:(NSString *)callId {
NSMutableURLRequest *request = [[AFServerAPIClient sharedClient] requestWithMethod:@"GET"
path:path
parameters:paramDict];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
if(locationToSave!=nil) {
operation.outputStream = [NSOutputStream outputStreamToFileAtPath:locationToSave append:NO];
}
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
//DO SOMETHING
}
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
//DO SOMETHING
}
];
[operation setDownloadProgressBlock:^(NSInteger bytesRead, long long totalBytesRead, long long totalBytesExpectedToRead) {
NSLog(@"invokeAsyncronousSTREAMING - Received %lld of %lld bytes", totalBytesRead, totalBytesExpectedToRead);
//DO SOMETHING
}];
[operation start];
} // end invokeAsyncStreaming