从 iPhone 应用程序中的 URL 识别文件类型



对于iPhone应用程序,我正在使用URL下载文件:

从这种类型的网址:: http://xxxxxxxxxxxxxxxxxxx.com/xxxxxxx//xxx/ipad.html?operation=getFile&contentId=61768b16-6b44-4d0b-bdcf-d10107d1f328

我正在从服务器下载文件,但它可能是.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 标头,以限制对特定类型数据的响应。

最新更新