【发布时间】:2017-03-11 01:28:13
【问题描述】:
我有一个带有 ASP.Net Web API 的 angular2 项目。我有代码可以从我的数据库中检索文件路径,该文件路径会转到我服务器上的文档。然后,我想在浏览器中的新选项卡中显示此文档。有人对如何做到这一点有任何建议吗?
我很高兴在 Angular2 (Typescript) 或我的 API 中检索文件并将其流式传输。
这是我在我的 API 中检索它的尝试,但我无法弄清楚如何在 Angular2 中接收它并正确显示它:
public HttpResponseMessage GetSOP(string partnum, string description)
{
var sopPath = _uow.EpicorService.GetSOP(partnum, description).Path;
HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);
var stream = new FileStream(sopPath, FileMode.Open);
result.Content = new StreamContent(stream);
result.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/octet-stream");
return result;
}
任何帮助将不胜感激。
非常感谢!!!
【问题讨论】:
-
如果你想在另一个标签页中看到它,为什么不打开一个新标签页到 API 的 URL 并让浏览器解释内容呢?您可能需要使用 mime 类型的“application/pdf”而不是“application/octet-stream”。
-
我在这里写了关于在 Angular 2 的新选项卡中获取和显示 pdf 文件的文章,查看我的答案:stackoverflow.com/questions/37046133/…
-
@StefanSvrkota 可以按原样与我的 API 一起使用吗?还是我需要进行更改才能以正确的格式返回它?
-
我不确定,试试看。我可以稍后告诉您我的 API 的外观。
-
好的,我只是在实施它,我会让你知道 :)
标签: pdf angular asp.net-web-api filestream