私はASP.Net Web APIを備えたangular2プロジェクトを持っています。私は私のサーバー上のドキュメントに行く私のデータベースからファイルパスを取得するコードがあります。この文書をブラウザに新しいタブで表示したいと思います。誰にどのようにこれを行うための任意の提案がありますか?Angular2 PDFを表示
私はAngular2(活字体)のいずれか、あるいは私の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;
}
をいただければ幸いです。
多くのありがとうございました!得るために
downloadPDF(): any {
return this._http.get(url, { responseType: ResponseContentType.Blob }).map(
(res) => {
return new Blob([res.blob()], { type: 'application/pdf' })
}
}
次に、:ResponseContentType.Blob
にresponseType
を設定し、blob
として応答を読み、application/pdf
にそのタイプを設定するためにblob()
を使用 -
あなたが別のタブでそれを見たい場合は、なぜ単にAPIのURLに新しいタブを開くと、ブラウザがコンテンツを解釈させませんか?おそらく、 "application/octet-stream"ではなく "application/pdf"のMIMEタイプを使用する必要があります。 – LinuxDisciple
私はここで角度2の新しいタブでPDFファイルを取得して表示するように書いています。私の答えをチェックしてください:http://stackoverflow.com/questions/37046133/pdf-blob-is-not-showing-content-angular-2/ 39657478#39657478 –
@StefanSvrkotaはそのまま私のAPIで動作しますか?それとも正しい形式で返すために変更を加える必要がありますか? – DaRoGa