【发布时间】:2015-06-16 11:21:55
【问题描述】:
我正在开发一个在服务器端使用 Web API 并在客户端使用 angularjs 的项目。要求之一是根据一些参数从数据库中检索数据,并将其导出为 csv 和 pdf 格式。我们正在使用异步/等待模式。我对 Web API 和 angularjs 有点陌生,在这个方向上没有找到好的资源。任何人都可以提出任何可以帮助我朝着正确方向开始的建议吗?
到目前为止,这是我所做的,但没有成功获得所需的输出。
// This is WEB API method
[HttpGet]
[Authorize]
[Route("ExportAppData")]
public IHttpActionResult ExportAppData()
{
List<App> apps = _appRepository.GetAllApps();
string csvData = ConvertToCSV(apps);
HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);
result.Content = new StringContent(csvData);
result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
result.Content.Headers.ContentDisposition.FileName = "file.csv";
return Ok(result);
}
// This is angularjs function call to call the above method
function exportAppData() {
return $http(
{url: 'api/Apps/ExportAppData',
method: "GET",
headers: {'Content-Type': 'application/octet-stream'}
}
);
}
当我运行时,我收到一条错误消息 “请求包含实体主体,但没有 Content-Type 标头。此资源不支持推断的媒体类型 'application/octet-stream'。”
知道我遗漏了什么吗?
【问题讨论】:
标签: angularjs asp.net-web-api export-to-csv