asp.net-mvc-4 – 如何为Web API控制器方法指定ContentType
发布时间:2020-12-16 00:26:51 所属栏目:asp.Net 来源:网络整理
导读:有一个Request对象,获取请求内容类型很容易。但是如何为响应指定内容类型?我的控制器看起来像这样(为简洁起见,其他动作被删除): public class AuditController : ApiController{ // GET api/Audit/CSV [HttpGet,ActionName("CSV")] public string Csv(Gu
有一个Request对象,获取请求内容类型很容易。但是如何为响应指定内容类型?我的控制器看起来像这样(为简洁起见,其他动作被删除):
public class AuditController : ApiController { // GET api/Audit/CSV [HttpGet,ActionName("CSV")] public string Csv(Guid sessionId,DateTime a,DateTime b,string predicate) { var result = new StringBuilder(); //build a string return result.ToString(); } } 这是非常正常的,除了它有错误的内容类型。我想这样做 Response.ContentType = "text/csv"; 有一点研究表明,我们可以键入Action来返回一个HttpResponseMessage。所以我的方法的结尾将如下所示: var response = new HttpResponseMessage() ; response.Headers.Add("ContentType","text/csv"); response.Content = //not sure how to set this return response; 关于HttpContent的文档是相当稀疏的,有人可以建议我如何将我的StringBuilder的内容变成一个HttpContent对象? 解决方法
您必须将方法的返回类型更改为HttpResponseMessage,然后使用Request.CreateResponse:
// GET api/Audit/CSV [HttpGet,ActionName("CSV")] public HttpResponseMessage Csv(Guid sessionId,string predicate) { var result = new StringBuilder(); //build a string var res = Request.CreateResponse(HttpStatusCode.OK); res.Content = new StringContent(result.ToString(),Encoding.UTF8,"text/csv"); return res; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 自定义异常过滤器在asp.net MVC中没有被击中
- asp.net – 正确对齐控件
- asp.net-mvc – ASP.NET MVC中的Page.EnableSessionState等
- 用于诊断.NET中的内存泄漏的工具(ASP.NET应用程序)
- asp.net-mvc-3 – @ Html.ActionLink和@ Html.DisplayFor同
- asp.net – ‘检测到Autofac循环组件依赖性’错误
- ASP.NET FileUpload以及文件下载和Repeater控件显示
- asp.net-mvc-4 – 为什么我们需要MVC中的Web API? mvc中re
- 一步步开发自己的博客 .NET版(4、文章发布功能)百度编辑
- 在ASP.net中使用image404和azurereader2
推荐文章
站长推荐
- ASP.NET MVC如何连接到ASP.NET?
- 可以在ASP.NET用户控件中使用void async方法吗?
- 如何使用asp.net在负载均衡机上获取访问者IP
- asp.net – 在编辑模式下未选择的Html.DropDownL
- 当我尝试调试ASP.NET程序时,为什么Internet Expl
- asp.net – Windows身份验证会话超时
- asp.net-mvc-3 – 使用asp.net mvc本地化jquery验
- asp.net – HttpContext.Current.Cache可用于所有
- 将(单片)经典ASP迁移到ASP.Net
- asp.net-mvc-3 – 如何不使用Ninject的内核作为资
热点阅读