【发布时间】:2017-06-06 20:28:19
【问题描述】:
我有一个 web api,可以检索存储在数据库中的 PDF 文件。
[HttpGet("file/{id}")]
public IActionResult GetFile(int id)
{
var file = dataAccess.GetFileFromDB(id);
HttpContext.Response.ContentType = "application/pdf";
FileContentResult result = new FileContentResult(file, "application/pdf")
{
FileDownloadName = "test.pdf"
};
return result;
}
我需要编写一个包装器 web api,它将上述 web api 的结果传递给客户端。
使用 .NET Core 实现这一目标的最佳方法是什么?我应该从上面的 web api 返回字节数组并将字节数组转换为包装器 api 中的 FileContentResult 吗?
任何代码示例都会很有帮助。
谢谢。
【问题讨论】:
-
你真的想要一个代理吗?
-
是的,有点。客户端(Angular 2)调用 wrapper web api 内部调用 db web apis 来检索数据。
-
.NET Core 最简单的方法是使用 this project 作为实现的基础(它使用中间件)。还是有理由重新实现另一个 API?
-
包装 API 还负责其他一些事情,所以很遗憾我必须使用包装 API。
标签: c# pdf asp.net-web-api asp.net-core-webapi