ottorz 2016-05-18 01:41 采纳率: 0%
浏览 1209
已结题

asp.net 下载pdf ,下载后的大小与实际大小不一样

代码是这样子的,从数据库读取文件的长度没问题,但浏览器下载后总是不一样?请问会是什么原因?

 SqlDataReader dr = cmd.ExecuteReader(System.Data.CommandBehavior.SequentialAccess);
                    if (dr.Read())
                    {
                        string filename = dc + " + " + dr["filename"].ToString();
                        int length = int.Parse(dr["leng"].ToString());
                        Context.Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8));
                        Context.Response.AddHeader("Content-Transfer-Encoding", "binary");
                        //if (filename.EndsWith("pdf"))
                        //{
                        //    Context.Response.ContentType = "application/pdf";
                        //}
                        //else
                        //    Context.Response.ContentType = "application/x-msdownload";//"application/octet-stream"application/x-msdownload;
                        Context.Response.ContentType = "application/octet-stream";


                        int bufferSize = 1024000;

                         int bytesRead;
                         long readFrom = 0;
                         do
                         {
                             byte[] bytes = new byte[bufferSize];
                             bytesRead = (int)dr.GetBytes(3, readFrom, bytes, 0, bufferSize);

                             //Response.BinaryWrite(bytes);
                             Response.OutputStream.Write(bytes, 0, bytesRead);
                             Response.Flush();
                             readFrom += bufferSize;
                         } while (bytesRead == bufferSize);
  • 写回答

1条回答 默认 最新

  • Go 旅城通票 2016-05-18 02:01
    关注

    加content-length响应头试试。。

     Response.AddHeader("content-length",length.ToString());
    
    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!