我有一个 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;
这是 Chrome 的回应:
缓存控制:无缓存
内容处置:附件;文件名=speedcam.txt
内容长度:17462
内容类型:应用程序/八位字节流
日期:2012 年 8 月 27 日星期一 04:53:23 GMT
过期:-1
杂注:无缓存
服务器:Microsoft-IIS/8.0
X-AspNet-版本:4.0.30319
X-Powered-By:ASP.NET
X-SourceFiles:=?UTF-8?B?TTpcVHJhYmFsaG9cTWFwYVJhZGFyXE1hcGFSYWRhci5XZWJBUEk0XEV4cG9ydGE=?
看起来不错,但整个文件文本都在 Chrome 开发工具“响应选项卡”中。