将字节数组写入浏览器

时间:2016-05-20 05:38:24

标签: c# asp.net

我试图通过点击ASPX中的链接从Sharepoint下载文件。在将字节写入浏览器时遇到一些问题,下载的图像文件被部分加载。当文件类型为docx时,下载的文件已损坏。下面是我的代码。虽然我遇到了许多与此相关的帖子,但无法解决这个问题。

using (var ffl = Microsoft.SharePoint.Client.File.OpenBinaryDirect(context, file.ServerRelativeUrl))
            {
                byte[] buffer = new byte[8 * 1024];
                ffl.Stream.Read(buffer, 0, buffer.Length);
                Response.Clear();
                Response.ClearHeaders();
                Response.ClearContent();
                Response.Buffer = true;
                Response.AddHeader("Content-Disposition", "attachment;filename=" + file.Name);
                Response.ContentType = "image/JPG";

                Response.BinaryWrite(buffer);
                Response.Flush();
                Response.End();
            }       

1 个答案:

答案 0 :(得分:0)

你确定文件是JPEG,它可以是jpg或png。尝试使用它。

Response.ContentType = "image/JPG"; 
or
Response.ContentType = "image/PNG";