ASP.NET Web API下载文本

Isr*_*uez 5 c# asp.net rest asp.net-web-api

我有一个WebAPI控制器,需要根据请求下载一些文件,但是当涉及到纯文本文件时,它不会给我浏览器的下载请求.它只给出了纯文本响应,就像它是JSON(在我的例子中,它是一个JSONP WebAPI).

我已经从堆栈(和其他网站)检查了其他问答,但我仍然一无所获:

这是我当前的代码:

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;
Run Code Online (Sandbox Code Playgroud)

这是Chrome的回应:

缓存控制:无缓存

内容处置:附件; 文件名= speedcam.txt

内容长度:17462

内容类型:应用/八位字节流

日期:星期一,2012年8月27日04:53:23 GMT

到期日:-1

附注:无缓存

服务器:Microsoft-IIS/8.0

X-ASPNET-版本:4.0.30319

X-已启动方式:ASP.NET

X-SourceFiles:= UTF-8乙TTpcVHJhYmFsaG9cTWFwYVJhZGFyXE1hcGFSYWRhci5XZWJBUEk0XEV4cG9ydGE =????

似乎没问题,但整个文件文本都在Chrome开发工具"响应选项卡"中.

Isr*_*uez 4

经过大量研究和文字处理,我发现AJAX 请求无法下载文件。感谢这两个答案:

JavaScript/jQuery 通过 POST 使用 JSON 数据下载文件

使用 Jquery、PHP 下载 Ajax 文件