2012-08-27 17 views
5

リクエストに応じていくつかのファイルをダウンロードする必要があるWebAPIコントローラがありますが、プレーンテキストファイルの場合はブラウザのダウンロード要求がありません。 JSON(私の場合はJSONP WebAPI)のようにプレーンテキストの応答しか得られません。ASP.NET Web APIのダウンロードテキスト

私がチェックした他のQ & Aスタック(や他のサイト)から、私はまだ何も持っていません

ここでは、私の現在のコード行く:

var httpResponse = new HttpResponseMessage(HttpStatusCode.OK); 
httpResponse.Content = new StreamContent(new MemoryStream(Encoding.UTF8.GetBytes(content))); 
httpResponse.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); 
httpResponse.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment"); 
httpResponse.Content.Headers.ContentDisposition.FileName = "speedcam.txt"; 
return httpResponse; 

をそして、これはChromeの応答です:

のCache-Control:キャッシュなし

のContent-処分:添付ファイル;ファイル名= speedcam.txt

のContent-Length:17462

のContent-Type:アプリケーション/ octet-streamの

日:月、2012年8月27日4時53分23秒GMT

有効期限: -1

プラグマ:キャッシュなし

サーバー:マイクロソフト-IIS/8.0

X-ASPNET-バージョン:4.0.30319

X-パワード・バイ:ASP.NET

X-、ソースファイル:???= UTF-8 B TTpcVHJhYmFsaG9cTWFwYVJhZGFyXE1hcGFSYWRhci5XZWJBUEk0XEV4cG9ydGE =?

答えて

0

あなたのコードに関係なく、テキストコンテンツのアプリケーションとして動作するようにファイルを強制的にされて... OKようだが、ファイル全体のテキストがクローム開発ツール「レスポンスタブ」です。

httpResponse.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); 
+0

私は...私は 'テキスト/ plain'、'テキスト/ txt'などを試みたが、まだ何も持っていない知っています! –