2012-08-27 51 views
5

Tengo un controlador WebAPI que necesita descargar algunos archivos según la solicitud, pero cuando se trata de archivos de texto sin formato, no me da la solicitud de descarga del navegador. Solo me da la respuesta de texto sin formato como si fuera JSON (en mi caso, es JSONP WebAPI).ASP.NET Web API descargar texto

He comprobado que otros Q & A partir de pila (y otros sitios), pero todavía no tiene nada:

Aquí va mi código actual:

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; 

Y esta es la respuesta de Chrome:

Cache-Control: no-cache

Content-Disposition: attachment; archivo = speedcam.txt

Content-Length: 17462

Content-Type: application/octet-stream

Fecha: Lun 27 Agos 2012 04:53:23 GMT

Expira: -1

Pragma: no-cache

servidor: Microsoft-IIS/8.0

X-ASPNET-Version: Powered-X-BY 4.0.30319

: ASP.NET

X-sourcefiles:? = UTF-8 B TTpcVHJhYmFsaG9cTWFwYVJhZGFyXE1hcGFSYWRhci5XZWJBUEk0XEV4cG9ydGE =???

parece que está bien, pero todo el texto de archivos está en las herramientas de Chrome Dev "Tab Respuesta" ..

Respuesta

0

Su código está forzando el archivo a comportarse como una aplicación, sin tener en cuenta el contenido del texto;

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

lo sé ... He intentado 'texto/plain',' texto/txt' y otros, y todavía tengo nada! –