将PDF文件下载到本地电脑时出现问题



我正试图从Web服务器下载一个用PDFsharp创建的PDF文件,并将其下载到本地PC的下载文件夹中。我在谷歌上搜索了很多,尝试了很多,但都没有成功。我可以正确创建PDF文件并将其保存到磁盘,但我无法将其传输/下载到本地PC的下载文件夹。

我已经尝试了以下代码:

string filename = Server.MapPath("~\Files\Temp\file.pdf");
document.Save(filename); //generate the physical file
MemoryStream stream = new MemoryStream();
document.Save(stream, false);
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("content-length", stream.Length.ToString());
Response.BinaryWrite(stream.ToArray());
Response.Flush();
stream.Close();
Response.End();

那么我做错了什么?

缺少Content-Disposition:

Response.AddHeader("Content-Disposition", "attachment;filename=test.pdf"); 
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Length", binfile.Length.ToString());
Response.BinaryWrite(binfile);

如果你有更新面板,你必须将按钮设置为回发触发

<asp:UpdatePanel runat="server">
<Triggers>
<asp:PostBackTrigger ControlID="btnID" />
</Triggers>
<ContentTemplate></ContentTemplate>
</asp:UpdatePanel>

相关内容

最新更新