远程文件为:http://192.168.1.102/aa.dat本地目录为D:\通过一个方法,把远程的aa.dat文件取到本地D:下。
我的方法如下:
        public static void DownloadToFile(string url,string saveName)
        {
            WebRequest request = WebRequest.Create(url);
            request.Credentials = CredentialCache.DefaultCredentials;
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();            using (Stream dataStream = response.GetResponseStream())
            {
                using (FileStream fs = new FileStream(saveName, FileMode.Create, FileAccess.Write))
                {
                    byte[] buffer = new byte[1024];
                    while (true)
                    {
                        int sizeRead = dataStream.Read(buffer, 0, buffer.Length);
                        if (sizeRead > 0)
                            fs.Write(buffer, 0, sizeRead);
                        else
                            break;
                    }
                    fs.Flush();
                }
            }
        }
存在的问题是,如果远程服务器不能识别要下载的文件,例如aa.pxs,则该方法可用。若可以识别下载的文件如aa.dat,则服务器IE默认机制是打开该文件,而不是保存文件,则调用该方法会报错。请问该如何改?或者请教别的方法下载。多谢。