簡體   English   中英

無法在Chrome本地主機和Safari上下載PDF

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM