如何将byte []作为文档发送给客户端?

时间:2013-02-06 14:25:11

标签: c# .net byte document

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

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

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

1 个答案:

答案 0 :(得分: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服务来提供文件。