私は、コントローラのアクションがあります。ajax POSTとASP.net MVC FileStreamResultを使用して新しいブラウザウィンドウにPDFファイルを表示するには?
public ActionResult GetReport(List<int> idList)
{
Stream stream = ReportsComponent.GetReports(idList);
return File(stream, "application/pdf");
}
私はjavascriptを持っていることをアクセスするには:
$.ajax({
method: "POST",
url: "/Reports/GetReport",
data: { idList : idsList}
})
.then(function(data){
/*Not working*/
var blob=new Blob([data], {type: "application/pdf"});
var fileURL = URL.createObjectURL(blob);
window.open(fileURL);
/*Not working*/
},
function(){
//error
}
);
は、これまでのところ、私は(動作していないコードで)破損したPDFを取得しています。結果のPDFを新しいブラウザウィンドウに表示するにはどうすればよいですか?
ajaxを使用してファイルをダウンロードすることはできません。ファイルを返すメソッドにリダイレクトする必要があります。 –
**あなたは** POSTリクエストをしなければなりませんか?それをGETリクエストに変更すると、ajaxについて心配する必要はありません。 – Musa