[英]PDF is not downloading on Chrome localhost and Safari
PDFHelper.cs
byte[] bytes = memoryStream.ToArray();
memoryStream.Close();
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.AddHeader("content-length", bytes.Length.ToString());
HttpContext.Current.Response.ContentType = "application/pdf";
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=Report.pdf");
//HttpContext.Current.Response.ContentType = "application/pdf";
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.End();
LoginFactory.js
factory.getPDFReport = function (data) {
var headers = { 'Content-Type': 'application/pdf;' };
var url = hostUrl + '/ReportsController/PDFReports';
return $http.post(url, data, headers).then(
function (results) {
return results;`**enter code here**`
});
}
這是我的代碼,但不適用於Chrome localhost和Safari瀏覽器。
ASP.NET提供Response.TransmitFile
用於下載文件。 以下代碼可以解決問題。
Response.Clear();
Response.ContentType = "application/pdf";
Response.AppendHeader("Content-Disposition", "attachment; filename=file_name.pdf");
Response.TransmitFile(file_path);
Response.End();
更新
如果您在使用Safari瀏覽器時遇到問題, SetHeader
在代碼AppendHeader
SetHeader
更改為SetHeader
。
Response.SetHeader("Content-Disposition", "attachment; filename=file_name.pdf");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.