下载功能怎样实现,说说思路,求实例或源码

解决方案 »

  1.   

    读文件,把文件流写回Response。设定Header,添加Attachment。
    private void Page_Load(object sender, System.EventArgs e)
    {
    if(!Page.IsPostBack)
    {
    string filePath = "D:\\test.xls";
    // filePath = "D:\\test.xls";
    System.IO.FileStream fs = System.IO.File.OpenRead( filePath );
    byte[] FileData = new byte[fs.Length];
    fs.Read( FileData, 0, (int)(fs.Length) );
    fs.Close(); Response.AddHeader( "Content-Type", "application/vnd.ms-excel" );

    string saveAsFileName = "YourSaveAsFileName";
    saveAsFileName = Encode(saveAsFileName);
            //saveAsFileName = HttpUtility.UrlDecode(saveAsFileName, System.Text.Encoding.GetEncoding("SHIFT-JIS"));
    Response.AddHeader("Content-Disposition", "inline;filename=" + saveAsFileName); Response.AddHeader("Content-Length", FileData.Length.ToString() );
    Response.BinaryWrite( FileData );
    Response.End();
    }
    }
      

  2.   

    Response.AddHeader("Content-Disposition", "inline;filename=" + saveAsFileName);
    inline 改为 attachment 是下载另存。inline 是直接打开。
    注意不同类型文件的 "Content-Type" 是不一样的。还有一种下载方式是,直接把文件的location作为href。点击就会下载。
      

  3.   

    给你说个最简单的方法 
    <a href="文件路径"></a>
    我测试过   可是实现
      

  4.   

    给你说个最简单的方法  
    <a href="文件路径"></a>
    直接这样就可以下载了
      

  5.   


      public static void DownLoadFile( string filepath )
            {
                string str = HttpContext.Current.Request.ServerVariables[ "APPL_PHYSICAL_PATH" ];
                string path = str + "所需的文件夹\\" + filepath;
                FileInfo file = new FileInfo( path );
                HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding( "UTF-8" ); //解决中文乱码
                HttpContext.Current.Response.AddHeader( "Content-Disposition", "attachment; filename=" + HttpContext.Current.Server.UrlEncode( file.Name ) ); //解决中文文件名乱码    
                HttpContext.Current.Response.AddHeader( "Content-length", file.Length.ToString() );
                HttpContext.Current.Response.ContentType = "appliction/octet-stream";
                HttpContext.Current.Response.WriteFile( file.FullName );
                HttpContext.Current.Response.End();
            }
      

  6.   

    最简单实现下载就是把别人需要下载的文件放在a标签后面,如下,需要下载一个doc文件的方法
    <a href="a.dco">点击下载</a>
      

  7.   

    <a href="windowFrom.rar">正解</a>你看腾讯下载频道都是这么写的呢如果你要权限方面的就response.redirect('windowFrom.rar')