1

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

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

我正在从服务器下载文件,但它可能是 .pdf 或 .docx 或 .doc 类型

有没有办法从 url 识别文件类型?

4

3 回答 3

1

不,由于文件名不在 URL 中,因此您无法做出假设。

但是在您收到 URL 的标头后,他们可能会告诉您您将收到什么样的文件。

于 2012-08-17T07:34:24.927 回答
0

在下面的 NSURLConnectionDelegate 方法中

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
NSString *mimeType = [response MIMEType]
NString *suggestedFilename = [response suggestedFilename];

}

当然,只有从服务器获取它们才有效。

于 2012-08-17T07:40:06.100 回答
0

您提供的 URL 中没有类型的指示,即使 URL 确实似乎指定了某种类型的文件(例如http://foo.com/bar.pdf),也不能保证服务器实际上会返回 PDF 文件。

如果您不想下载该文件,您可以随时发出 HEAD 请求以仅获取 HTTP 标头并查看标头的值Content-Type。或者,您可以Accept在请求中放置一个标头,以限制对特定类型数据的响应。

于 2012-08-17T13:45:15.710 回答