2016-03-02 21 views
0

单击UIWebView中的链接时,委托获取NSURLRequest,我想从中提取建议的文件名。从NSURLRequest获取文件名无需加载

获取建议的文件名

我目前使用的NSURLRequest创建NSURLConnectionNSURLConnectionDelegate收到一个NSURLResponse对象,其中包含suggestedFilename

无负载的URL

有没有什么办法让来自服务器的suggestedFilename,而不必等待整个NSURLResponse要加载?

+0

我对这个'func连接充满希望(连接:NSURLConnection,willCacheResponse cachedResponse:NSCachedURLResponse)',但它在** didReceiveResponse后触发** –

回答

1

您误会了什么是NSURLResponse对象。当调用didReceiveResponse方法时,操作系统没有收到标题之外的任何内容。因此,该响应对象确实包含来自服务器的响应的正文而不是。它只包含标题。

NSURLResponse对象内部,您应该能够访问服务器发送的标头。查看Content-Disposition标题。你必须自己拆开它。

此时,如果您不想接收数据,则可以取消该请求。如此一来,服务器将在发送数据时发送数据,因此如果您想避免接收任何数据,请将请求类型从GET更改为HEAD。 (如果你在网页视图下面做这个,你可以通过使用自定义NSURLProtocol来做到这一点,这样的练习超出了这个问题的范围....)