得到一个http的文件下载路径,如何把文件信息放入到FileInfo里,或者是其它类中
比如得到一个地址“http://192.168.1.1/Files/OA/111.txt”
我需要得到"111.txt"的文件信息,并把文件复制到服务器的某一个目录下(如D:\FTP),如何实现

解决方案 »

  1.   

    FileInfo fileInfo = new FileInfo(@"D:\FTP\111.txt");
                Console.WriteLine(fileInfo.CreationTime.ToString());//输出文件的创建时间
      

  2.   

    我这边不是文件目录,而是http地址,你这个方法我知道
      

  3.   

    4L,就是在打开文件这里卡住了,都提示不支持URI,难道只能写本地路径?
      

  4.   


        public class HttpFileMgr 
        {
            public bool GetHttpFile(string url)
            {
                try
                {
                    //得到url中包含的文件名
                    string filename = url.Substring(url.LastIndexOf("/") + 1);
                    //得到文件的二进制流
                    WebRequest request = HttpWebRequest.Create(url);
                    Stream stream = request.GetRequestStream();
                    byte[] bs = new byte[stream.Length];
                    stream.Read(bs, 0, bs.Length);
                    //向ftp写文件
                    string localFilepath = "D:\\FTP\\" + filename;
                    FileStream fs = File.Open(localFilepath, FileMode.OpenOrCreate);
                    fs.Write(bs, 0, bs.Length);
                    fs.Close();
                    return true;
                }
                catch (Exception err)
                {
                    return false;
                }
            }
        }
      

  5.   

    7楼,你好,stream.Length 这个报错啊,是不是无法得到呢
      

  6.   

    已自行解决,必须用网络流复制到内存流,使用内存流的方法来处理,不然肯定在stream.Length里出错。