2011-02-07 10 views
2

NSURLProtocolのカスタムサブクラスを作成しましたが、プロトコルを使用してUIWebViewでリクエストをロードするたびに、データがcontent-type "text/html"であると見なされるようです。このコンテンツが実際には他のものであることを指定する方法はありますか(たとえば "text/plain"または "image/png")?カスタムNSURLProtocolのコンテンツタイプをどのように変更しますか?

答えて

2

コンテンツタイプが実際にあなたがNSURLProtocolClient法URLProtocolを使用して変更することができNSURLResponse、によって実施される:didReceiveResponse:cacheStoragePolicy:例えば、テキストに設定する/無地

NSURLResponse *textResponse = [[NSURLResponse alloc] initWithURL:self.request.URL MIMEType:@"text/plain" expectedContentLength:100 textEncodingName:@"UTF-8"]; 
[self.client URLProtocol:self didReceiveResponse:textResponse cacheStoragePolicy:NSURLCacheStorageAllowedInMemoryOnly]; 
0

コンテンツタイプはNSMutableURLRequestによって保持されます。

[request setValue:@"image/png" forHTTPHeaderField:@"content-type"]; 
+0

ないかなり私が探していた結果、これはあなたの要求のフォーマットを指示するのに役立つようですが、私は応答のフォーマットを明確にすることを検討していました。 – BadPirate