2

我有一个 WebForm(在 .NET 3.5 上) a byte[],它“代表”一个 PDF 文件。

好吧,我想在此页面的请求(回发)期间将其发送给客户端。

我该怎么做?尝试搜索,但我只找到从客户端到服务器的 byte[] 教程。

4

1 回答 1

5

您可以这样做,但您可能必须先清除响应以删除所有其他页面控件等。

protected void Page_Load(object sender, EventArgs e)
{
    var byteArray = File.ReadAllBytes("test.pdf");

    Response.ContentType = "application/pdf";
    Response.AddHeader("content-disposition", "attachment;filename=test.pdf");
    Response.BinaryWrite(byteArray);
    Response.Flush();

    Response.End();
}

我通常创建一个 IHttpHandler 或 WCF REST 服务来提供文件。

于 2013-02-06T14:39:05.660 回答