需要在客服端下载服务器上的文件,文件类型有很多种,可以通过数据库提供下载的路径。
以前用Response.Redirect(url)   //url是文件路径。
但是现在文件里面有word文件和jpg文件都可以在IE上直接打开,所以下载的时候没有提示下载而是直接打开了,希望那位能帮忙解决一下,谢谢

解决方案 »

  1.   

    private void DoDownLoad()
    {
    Response.Clear();
    Response.ClearHeaders();
    Response.Charset = "utf-8";
    Response.ContentEncoding = System.Text.Encoding.UTF8;
    Response.ContentType = "application/octet-stream"; FileInfo fi = new FileInfo( filePath );
    Response.AddHeader( "Content-Disposition","attachment;  filename="  +  HttpUtility.UrlEncode( fileName ) ) ;
    Response.AddHeader( "Content-Length", fi.Length.ToString() );
    byte[] tmpbyte = new byte[ 1024 * 8 ];
    FileStream fs = fi.OpenRead();
    int count;
    while( (count = fs.Read( tmpbyte, 0, tmpbyte.Length ) ) > 0 )
    {
    Response.BinaryWrite( tmpbyte );
    Response.Flush();
    } fs.Close();
    Response.End();
    }
      

  2.   

    每个读出8K,不停地输出下载我们的web上就用它下载,挺好的
      

  3.   

    我的url读出来是/admin/article/qy_file/blsh000000200407291548380000000000000011.doc
    请问上面的filePath 和filePath 应该怎么取,谢谢
      

  4.   

    谢谢,问题已经解决了。呵呵,又学到东西了。
    谢谢dayasky