对于 iPhone 应用程序,我正在使用 URL 下载文件:
我正在从服务器下载文件,但它可能是 .pdf 或 .docx 或 .doc 类型
有没有办法从 url 识别文件类型?
对于 iPhone 应用程序,我正在使用 URL 下载文件:
我正在从服务器下载文件,但它可能是 .pdf 或 .docx 或 .doc 类型
有没有办法从 url 识别文件类型?
不,由于文件名不在 URL 中,因此您无法做出假设。
但是在您收到 URL 的标头后,他们可能会告诉您您将收到什么样的文件。
在下面的 NSURLConnectionDelegate 方法中
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
NSString *mimeType = [response MIMEType]
NString *suggestedFilename = [response suggestedFilename];
}
当然,只有从服务器获取它们才有效。
您提供的 URL 中没有类型的指示,即使 URL 确实似乎指定了某种类型的文件(例如http://foo.com/bar.pdf
),也不能保证服务器实际上会返回 PDF 文件。
如果您不想下载该文件,您可以随时发出 HEAD 请求以仅获取 HTTP 标头并查看标头的值Content-Type
。或者,您可以Accept
在请求中放置一个标头,以限制对特定类型数据的响应。