强制浏览器下载PDF文档而不是打开它

Aru*_*run 23 c# asp.net

我想让浏览器从服务器下载PDF文档,而不是在浏览器中打开文件.我正在使用C#.

下面是我使用的示例代码.它不工作..

string filename = "Sample server url";
response.redirect(filename);
Run Code Online (Sandbox Code Playgroud)

Mar*_*ell 34

您应该查看"Content-Disposition"标题; 例如,将"Content-Disposition"设置为"attachment; filename = foo.pdf"将提示用户(通常)使用"另存为:foo.pdf"对话框,而不是打开它.但是,这需要来自正在进行下载的请求,因此在重定向期间无法执行此操作.但是,ASP.NET提供Response.TransmitFile了此目的.例如(假设您没有使用MVC,它有其他首选选项):

Response.Clear();
Response.ContentType = "application/pdf";
Response.AppendHeader("Content-Disposition", "attachment; filename=foo.pdf");
Response.TransmitFile(filePath);
Response.End(); 
Run Code Online (Sandbox Code Playgroud)

  • @WashingtonGuedes`返回文件(filePath,"application/pdf","foo.pdf"); (2认同)