Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET Web API下载文本_C#_Asp.net_Rest_Asp.net Web Api - Fatal编程技术网

C# ASP.NET Web API下载文本

C# ASP.NET Web API下载文本,c#,asp.net,rest,asp.net-web-api,C#,Asp.net,Rest,Asp.net Web Api,我有一个WebAPI控制器,需要根据请求下载一些文件,但当涉及纯文本文件时,它不会给我浏览器的下载请求。它只给我纯文本响应,就像它是JSON一样(在我的例子中,它是一个JSONPWebAPI) 我查看了stack(和其他网站)上的其他问答,但仍然一无所获: 下面是我当前的代码: var httpResponse = new HttpResponseMessage(HttpStatusCode.OK); httpResponse.Content = new StreamConten

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

我查看了stack(和其他网站)上的其他问答,但仍然一无所获:

下面是我当前的代码:

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的回应:

缓存控制:没有缓存

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

内容长度:17462

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

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

过期:-1

Pragma:没有缓存

服务器:Microsoft IIS/8.0

X-AspNet-Version:4.0.30319

X-Powered-By:ASP.NET

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


看起来还可以,但整个文件文本都在Chrome开发工具的“响应选项卡”中。

您的代码强制文件作为应用程序运行,而不管文本内容如何

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

经过大量的研究和文本,我发现一个AJAX请求很难下载文件。多亏了这两个答案:


检查web.config/IIS中的mime扩展名

我知道……我尝试了
text/plain
text/txt
和其他方法,但仍然一无所获!