2016-09-20 21 views
1

FileContentResultを使用して新しいタブでPDFを開く機能を備えたASP.NET MVCアプリケーションを移行しています。プロンプトを表示せずに新しいタブにPDFを開く - mssaveoropenblob

return new FileContentResult(byteArray, "application/pdf"); 

今、私たちは反応するように、このアプリを移行すると、API(サーバ側)からから、私たちは以下のように応答を返送している: - リアクトUI側で

response.Content = new ByteArrayContent(pdfByteArray); 
response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf"); 

、私たちはあります以下のような応答を使用して: -

postData(POST_API_ENDPOINT, requestData, ((err, data) => { 
    if (data.ok) { 
    data.blob().then(function(myBlob) { 
     if (window.navigator && window.navigator.msSaveOrOpenBlob) { 
      return window.navigator.msSaveOrOpenBlob(myBlob, "sample.pdf"); 
     } 
     else { 
      var objectURL = URL.createObjectURL(myBlob); 
      return window.open(objectUrl); 
      } 
     }); 
     } 
    })); 

今、私はmsSaveOrOpenBlobはいつもIE11内の「オープン/保存」を促すだろうと理解しています。プロンプトが表示されていない別のタブでPDFを開く必要がある場合、他にどのようなオプションがありますか?

私は、以下の方法でこれを行う別の方法があると思いますが、URLの長さにも制限があります。

window.open("data:application/pdf;base64, " + base64EncodedPDF); 

答えて

0

IEは、私たちは新しいタブ(おそらくセキュリティ上の理由)でのデータURLを開いていないし、そこには、回避策を許可していません - 以前と同じ問題に直面していました。

msSaveOrOpenBlobを使用します。

関連する問題