vs2005 做个页面下载
部分代码:
SqlDataReader sdr = sqlCmd.ExecuteReader();
        sdr.Read();
        //设置缓冲启用
        this.Response.Buffer = true;
        //清除提交
        this.Response.Clear();
        //申明一个字节流的数组
        byte[] fileByteBack;
        //----------------------------------------------------------------------------------------------
         
        
        this.Response.AddHeader("Content-Disposition", "attachment;filename=" + this.Server.HtmlDecode(sdr[2].ToString()).ToString());
        fileByteBack = (byte[])sdr["Attachment1"];        //---------------------------------------------------------------------------------------
        if (fileByteBack.Length != 0)
        {
            this.Response.BinaryWrite(fileByteBack);
        }
        //----------------------------------------------------------------------------------
        //刷新
        this.Response.Flush();
        //下载结束
        this.Response.End();
        sdr.Close();
        con.Close();
数据是从sql存 varbinary类型
数据是文件 在浏览器弹出下载页面的时候 不能自己识别文件类型 总是Type:HTML Document
文件又.rar的 .doc 等……
问怎么才能让他 弹出下载页面的时候 自动识别文件类型的Type????
请告诉 赐教  谢谢了

解决方案 »

  1.   

    需要增加Content的相关属性,看看我的BLOG中的文章,对你是否有帮助:
    http://blog.csdn.net/CloneCenter/archive/2005/07/07/416450.aspx
      

  2.   

    Response.ContentType = "application/octet-stream";
    Response.AddHeader...
      

  3.   

    数据库里没有存类型的字段
    而且存的文件类型也不一样 有zip,rar,do 等……
    用 Response.ContentType = "application/octet-stream"; 不行啊有没有让它自动判断文件的代码啊????弄半天了 郁闷!!!救命啊!!!!!!!!!!!!!!!!!!!!!!!!!
      

  4.   

    filename 处带上扩展名就可以了