IE 11/Edgeにblob urlをPDFとして埋め込むことができません。 CORSの問題があり、IEは「アクセス拒否」を出します。私のSOの研究から、私はこれがIEの固有のセキュリティ制限によるものであることに気付きました。私の質問は、RESTサービスからBLOB URLデータ応答を取得し、ブラウザに埋め込まれたものを表示する他の方法です。私はサードパーティのライブラリを使用しないようにしたい。 サービスとして以下を返します:IE11/Edgeにblob PDFレスポンスを正常に埋め込む方法
function getTest(id) {
miEService.get(id)
.then(function (response) {
var fileUrl = URL.createObjectURL(response.data);
$scope.pdfData = $sce.trustAsResourceUrl(fileUrl);
});
get: function (id) {
var config = {
headers: {
accept: 'application/pdf'
}
, responseType: 'blob'
}
return $http.get(miEnv.services.eApi + '?$filter=id eq' +
' ' + id, config);
は最後に、HTML内の表示は以下の通りである -
<object id="pdf" data={{$ctrl.pdfData}} type="application/pdf" width="100%" height="100%" alt="pdf" class="view-pdf_document">
ありがとうございます!私はコードで私の質問を更新しました。 URL.createObjectURL()を使用して、サービスから戻って表示するレスポンスのURLを作成しようとしています。しかし、IEはそれを許さない。私は、BLOB URLを作成する代わりに、BLOBを取り出して表示する別の方法を見つけようとしています。 – sdd
@sdd私は、フレームURLを残りのサービスURLに設定することを意味する場合、変換するつもりはありません – MorningDew