FileStream fs = new FileStream(filePath, FileMode.Open);
            byte[] bytes = new byte[(int)fs.Length];
            fs.Read(bytes, 0, bytes.Length);
            fs.Close();这些替换成使用webclient或者httpwebrequest方式下载文件或者文件服务器开共享,在iis将这个共享目录作为虚拟路径挂在你的网站下。

解决方案 »

  1.   


    webclient httpwebrequest 百度了一下,似乎都是先在服务器本地中转了一道难道是我搜的不对?
      

  2.   

    /// <summary>          
            /// 下载文件          
            /// </summary>          
            /// <param name="URL">下载文件地址</param>         
            /// <param name="Filename">下载后的存放地址</param>                 
            public string DownloadFile(string URL, string filename)
            {
                try
                {
                    System.Net.HttpWebRequest Myrq = (System.Net.HttpWebRequest)
                    System.Net.HttpWebRequest.Create(URL);
                    System.Net.HttpWebResponse myrp = (System.Net.HttpWebResponse)Myrq.GetResponse();
                    long totalBytes = myrp.ContentLength;
                    if (myrp.ContentLength != 0)
                    {  
                        System.IO.Stream st = myrp.GetResponseStream();
                        //System.IO.Stream so = new System.IO.FileStream(filename,System.IO.FileMode.Create);                    Response.Clear();
                        long totalDownloadedByte = 0;
                        byte[] by = new byte[1024];
                        int osize = st.Read(by, 0, (int)by.Length);
                        Response.ContentType = "application/octet-stream";
                        Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(filename));
                        while (osize > 0)
                        {
                            totalDownloadedByte = osize + totalDownloadedByte;
                            Response.OutputStream.Write(by, 0, osize);
                            Response.Flush();
                            //so.Write(by, 0, osize);
                            osize = st.Read(by, 0, (int)by.Length);
                        }
                        Response.Close();                    //long totalDownloadedByte = 0;
                        //byte[] by = new byte[1024];
                        //int osize = st.Read(by, 0, (int)by.Length);
                        //while (osize > 0)
                        //{
                        //    totalDownloadedByte = osize + totalDownloadedByte;
                        //    so.Write(by, 0, osize);
                        //    osize = st.Read(by, 0, (int)by.Length);
                        //}
                        //so.Close();
                        st.Close();
                        return "success";
                    }
                    else
                    {
                        return "文件不存在";
                    }
                }
                catch (System.Exception e)
                {
                    return "下载文件失败!" + e.ToString();
                }
            } 注释了的代码是本地处理方式
      

  3.   

    在stackoverflow找到合适的方法了http://stackoverflow.com/questions/5596747/download-stream-file-from-url-asp-net
      

  4.   


    webclient httpwebrequest 百度了一下,似乎都是先在服务器本地中转了一道难道是我搜的不对?难道FileStream不是?