2012-04-23 6 views
0

私のアプリケーションでは、不幸なMIMEタイプのアプリケーション/強制ダウンロードに対処する必要があります。私は、直接リンク(e.x. http://blah.com/something.zip)が与えられた場合にファイルをダウンロードするためにNSURLConnectionを確立することができますが、PHPファイルであるhttp://blah.com/download.php?id=123のようなURLで成功/情報を見つけることはできません。 Webブラウザは確かにこの機能を実行することができますが、Cocoaライブラリではどのようにこのことが可能でしょうか。どんな提案/ガイドラインも確かに高く評価されます。Cocoa - アプリケーション/強制ダウンロードとNSURLConnection

ありがとうございました。あなたのNSURLConnectionオブジェクトのためのデリゲートを実装し、そのデリゲートにこのメソッドを実装する必要が

答えて

1

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response; 

NSURLReponse引数からは、MIMEタイプと推奨されるファイル名を取得することができます

NSString* type = [response MIMEType]; 
NSString* fileName = [response suggestedFilename]; 

MIMEタイプがapplication/downloadの場合は、代理人経由で受け取ったNSDataを適切なファイル名でディスクに保存するようにアプリケーションを作成する必要があります。

+0

データの受信方法に違いはありませんか?NSURLRequestをhttp://blah.com/download.php?id=123のようなURLに設定してNSURLConnectionを開始すると、接続を介してデータを受け取る - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data; – uhelios

+0

絶対に、MIMEタイプは、ユーザエージェントがコンテンツをどうするのかのヒントに過ぎません。 –

+0

説明をありがとう! – uhelios

関連する問題