作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有一个 Request 对象,获取请求内容类型很容易。但是如何为响应指定内容类型呢?我的 Controller 看起来像这样(为简洁起见,删除了其他操作):
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";
var response = new HttpResponseMessage() ;
response.Headers.Add("ContentType","text/csv");
response.Content = //not sure how to set this
return response;
最佳答案
您必须将该方法的返回类型更改为 HttpResponseMessage
,然后使用 Request.CreateResponse
:
// GET api/Audit/CSV
[HttpGet, ActionName("CSV")]
public HttpResponseMessage Csv(Guid sessionId, DateTime a, DateTime b, 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-4 - 如何为 Web API Controller 方法指定 ContentType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23381309/
我是一名优秀的程序员,十分优秀!