我是从sqlserver中下载,而不是从服务器硬盘上下载!

解决方案 »

  1.   

    private void Page_Load(object sender, System.EventArgs e)
    {
    if (!Object.Equals(Request.QueryString["FileCode"],null))
    {
    curFileCode = Request.QueryString["FileCode"].ToString();//得到你的文件ID
    } if(!Page.IsPostBack)
    {
    if (curFileCode=="")
    {
    Page.RegisterClientScriptBlock("Kenneth","<script>alert('没有下载文件的信息,下载失败!');</script>"); }
    else
    {
                                            File file = new File();
        byte[] fileContent = file.GetFileContent(curFileCode); //从数据库中得到你的文件内容
    Response.ContentType="application/octet-stream";
    Response.Charset="GBK";
    Response.AddHeader("Content-Disposition", "attachment;FileName="+你的文件名称); 
    Response.BinaryWrite(fileContent);
    Response.End();
    Page.RegisterClientScriptBlock("Kenneth","<script>window.close();</script>");
    }
    } }
      

  2.   

    点击下载按钮的事件
    private void btnDownLoad_Click(object sender, System.EventArgs e)
    {

    if (Object.Equals(Request.QueryString["FileCode"],null))
    {
    Page.RegisterClientScriptBlock("Kenneth","<script>alert('没有文件的信息!');</script>");
    }
    else
    {
    string srcFileCode = Request.QueryString["FileCode"].Trim(); //你要下载文件的ID
    Page.RegisterClientScriptBlock("Kenneth","<script>window.open('FileDownLoad.aspx?FileCode="+srcFileCode+"','','');</script>"); //弹出下载文件页面,它的下载事件在上面的Page_Load(object sender, System.EventArgs e)事件内 }

    }