我目前有以下内容,可以在屏幕上下载xml作为内容
public IHttpActionResult GetAllMemberParty()
{
return Content(HttpStatusCode.OK, this.addressTypeRepository.GetAll(), Configuration.Formatters.XmlFormatter);
}
是否可以添加一个快速的一行代码来将此下载作为文件?而不是编写我自己的IHttpActionResult实现?
感谢
以下内容使其作为文件下载,但没有任何扩展名。我更希望它有一个扩展名,但创建自己的返回文件的http响应似乎有点麻烦?
public IHttpActionResult GetAll()
{
return Content(HttpStatusCode.OK, this.repository.GetAll(), Configuration.Formatters.JsonFormatter, new MediaTypeHeaderValue("application/octet-stream"));
}
我找到了解决这个问题的更好办法。ResponseMessage方法是API控制器的一部分。这实现了IHttpActionResult,因此您可以执行以下操作:
HttpResponseMessage responseMsg = Request.CreateResponse(HttpStatusCode.OK, returnList, Configuration.Formatters.JsonFormatter);
responseMsg.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
responseMsg.Content.Headers.ContentDisposition.FileName = "Address.json";
return ResponseMessage(responseMsg);
你当然可以使用并返回HTTPResponseMessage!