如何获取 iphone 中下载的 zip 文件名
Posted
技术标签:
【中文标题】如何获取 iphone 中下载的 zip 文件名【英文标题】:How to obtain the zip filename being downloaded in iphone 【发布时间】:2011-07-08 17:42:06 【问题描述】:目前使用 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];
【问题讨论】:
【参考方案1】:NSURLResponse
有一个方法- (NSString *)suggestedFilename
将尝试按此顺序获取文件名。
-
使用内容处置标头指定的文件名。
URL 的最后一个路径部分。
URL 的主机。
content disposition 标头将是最佳解决方案,因此请确保服务器设置它。
【讨论】:
乔:谢谢它确实有效。只是想就同一主题问您一个简单的问题:您将如何通过 HTTPRequest 将文件名作为 POST 发送?就像我如何将其用作字符串并将其作为 POST 发送? 我实际上不确定,因为我还没有尝试过购买尝试发送内容处置标头,然后在服务器上检查。以上是关于如何获取 iphone 中下载的 zip 文件名的主要内容,如果未能解决你的问题,请参考以下文章
iPhone - 获取与 zip 名称相同的 zip 文件名和文件夹
ipad下下来是压缩文件,网上说是把zip.改成ipa,在哪改,怎么改?