gpt4 book ai didi

iphone - 如何获取iPhone中正在下载的zip文件名

转载 作者:行者123 更新时间:2023-12-03 20:32:56 25 4
gpt4 key购买 nike

当前使用 SSZipArchive 方法下载 zip 文件并解压缩到 Documents 目录文件夹中。我正在从 URL 下载 zip 文件名,但目前不知道该文件名,因为每次有更新时它都会更改。收到数据后如何检索文件名?

- (void)viewDidLoad {
fileManager = [NSFileManager defaultManager];

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
directoryPath = [paths objectAtIndex:0];
filePath = [NSString stringWithFormat:@"%@/ZipFiles.zip", directoryPath];

NSURL *url=[NSURL URLWithString:@"http://www.abc.com/test/test.cfc?id=123"];

NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];

NSError *error;
NSURLResponse *response;
NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

[fileManager createFileAtPath:filePath contents:urlData attributes:nil];
[SSZipArchive unzipFileAtPath:filePath toDestination:directoryPath];

NSString *responseString = [[NSString alloc] initWithData:urlData encoding:NSASCIIStringEncoding];


///***Answer to my own question for future needs****//
NSString *fileName = [response suggestedFilename];

}

最佳答案

NSURLResponse 有一个方法 - (NSString *)suggestedFilename 它将尝试按此顺序获取文件名。

  1. 使用内容处置 header 指定的文件名。
  2. URL 的最后一个路径组成部分。
  3. URL 的主机。

content disposition header 将是最好的解决方案,因此请确保服务器设置它。

关于iphone - 如何获取iPhone中正在下载的zip文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6628256/

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