2012-08-27 24 views
5

İsteğe bağlı olarak bazı dosyaları karşıdan yüklemesi gereken bir WebAPI denetleyicim var, ancak düz metin dosyaları söz konusu olduğunda bana tarayıcının karşıdan yükleme isteğini vermiyor. Bana JSON gibi sadece düz metin yanıtı veriyor (benim durumumda, bir JSONP WebAPI).ASP.NET Web API indirme metni

:

ben kontrol ettim diğerleri Q & bir yığın (ve diğer siteler) dan, ama yine de hiçbir şey yok

İşte benim şimdiki kod gider:

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; 

Ve bu Chrome'un yanıttır:

Cache-Control: no-cache

Content-Disposition: eki; filename = speedcam.txt

İçerik-Uzunluk: 17462

Content-Type: application/octet-stream

Tarih: Mon 2012 27 Ağustos 04:53:23 GMT

bitiş tarihi: -1

Pragma: no-önbellek

Sunucu Microsoft-IIS/8.0

X-aspnet-Versiyon: 4.0.30319

X-Powered-By: ASP.NET

X-Kaynak Kodlarını:? = UTF-8 B TTpcVHJhYmFsaG9cTWFwYVJhZGFyXE1hcGFSYWRhci5XZWJBUEk0XEV4cG9ydGE =???

Tamam görünüyor, ama bütün dosya metin

cevap

0

Kodunuz bakılmaksızın metin içeriği, bir uygulama olarak davranmaya dosyayı zorluyor .. Chrome Dev Araçlar "Tepki Sekme" olduğunu;

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

Ben ... 'metin/plain',' metin/txt' ve diğerleri çalıştı ve hala hiçbir şey yok biliyorum! –