gpt4 book ai didi

ios - AFNetworking 预期读取的字节为 -1

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:28:49 24 4
gpt4 key购买 nike

<分区>

我正在尝试从 iPad 使用 afnetworking 从服务器下载文件。

我可以成功下载文件。但是,奇怪的是,尽管 totalBytesRead 是正确的,但我的 totalBytesExpectedToRead 始终为 -1。我哪里弄错了?

[operation setDownloadProgressBlock:^(NSUInteger bytesRead, long long totalBytesRead, long long totalBytesExpectedToRead)
{
}

完整代码在这里。

-(void)fileDownload : (NSString *)pathToDownload : (NSString *)fileExt
{
hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
hud.mode = MBProgressHUDModeAnnularDeterminate;
hud.labelText=@"Downloading...";

NSLog(@"fileDownload and pathToDownload is %@",pathToDownload);

NSArray *parts = [pathToDownload componentsSeparatedByString:@"\\"];
NSString *fileName = [NSString stringWithFormat:@"%@",[parts objectAtIndex:[parts count]-1]];

if([fileExt isEqualToString:@"pdf"])
{
fileNameForAllThreeFile=[fileName stringByDeletingPathExtension];
}

NSLog(@"fileName is %@",fileName);

NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@",IP_ADDRESS,download_recording]];

AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];
[httpClient setAuthorizationHeaderWithUsername:usernameForAuth password:passwordForAuth];

NSDictionary *parameters = [NSDictionary dictionaryWithObjectsAndKeys:
pathToDownload,@"file",
nil];
NSMutableURLRequest *request = [httpClient requestWithMethod:@"POST" path:download_recording parameters:parameters];

AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [[paths objectAtIndex:0] stringByAppendingPathComponent:fileName];
operation.outputStream = [NSOutputStream outputStreamToFileAtPath:path append:NO];

[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject)
{
NSString *responseStr = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
NSLog(@"Request Successful in fileDownload, response '%@'", responseStr);

NSLog(@"Successfully downloaded file to %@", path);
[self messageDisplay:@"File download complete" :[NSString stringWithFormat:@"%@ download is now complete.",fileName]];
} failure:^(AFHTTPRequestOperation *operation, NSError *error)
{
NSLog(@"Error in retrieveFromCustomServer: %@", error.localizedDescription);
[self performSelectorInBackground:@selector(hideHUDInBackground) withObject:nil];

}];
[operation setDownloadProgressBlock:^(NSUInteger bytesRead, long long totalBytesRead, long long totalBytesExpectedToRead)
{
//do something in this line with the calculation to cell
// float progress = (float)totalBytesRead / totalBytesExpectedToRead;
NSLog(@"Downloaded %lld of %lld bytes", totalBytesRead, totalBytesExpectedToRead);
float perCent = totalBytesRead / (float)totalBytesExpectedToRead;
hud.progress = perCent ;
NSLog(@"Percent is %d and in float is %f",(int)(perCent *100),perCent);
}];
[operation start];
}

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com