qq_30591965
2018-01-25 03:44
采纳率: 50%
浏览 3.1k

.net 怎么读取远程服务器文件夹目录 服务器!! 服务器 !!服务器!!

想根据服务器连接地址读取特定文件夹目录 不知道怎么写 求解答;不是本地 是服务器;;不是下载是读取文件夹下面所有的文件信息 !!!谢谢 111

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

8条回答 默认 最新

  • threenewbee 2018-01-25 03:47

    看你服务器用的什么协议,什么服务器端。

    假设是标准的http/ftp客户端。服务器上装了iis,开了80/21端口,有公网ip就可以做到。

    那客户端C#用webclient.DownloadFile或者ftpWebRequest就可以下载。

    评论
    解决 无用
    打赏 举报
  • qq_37103855 2018-01-25 04:02

    #region 文件下载
    public bool DownLoadFile(string localPath, string hostURL, int byteCount, string userID, long cruuent)
    {

           bool result = true;
    
    
           string tmpURL = hostURL;
    
           byteCount = byteCount * 1024;
           hostURL = tmpURL + "&npos=" + cruuent.ToString();
    
           System.IO.FileStream fs;  
           fs = new FileStream(localPath, FileMode.OpenOrCreate);
           if (cruuent > 0)
           {
               //偏移指针
               fs.Seek(cruuent, System.IO.SeekOrigin.Current); 
           }
    
    
           System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(hostURL);
           if (cruuent > 0)
           {
               request.AddRange(Convert.ToInt32(cruuent));    //设置Range值
           }
    
           try
           {
               //向服务器请求,获得服务器回应数据流
               System.IO.Stream ns = request.GetResponse().GetResponseStream();
    
               byte[] nbytes = new byte[byteCount];
               int nReadSize = 0;
               nReadSize = ns.Read(nbytes, 0, byteCount);
    
               while (nReadSize > 0)
               {
                   fs.Write(nbytes, 0, nReadSize);
                   nReadSize = ns.Read(nbytes, 0, byteCount);
    
               }
               fs.Close();
               ns.Close();
           }
           catch(Exception ex)
           {
               LOG.Error("下载" + localPath + "的时候失败!" + "原因是:" + ex.Message);
               fs.Close();
               result = false;
           }
           return result;     
       }
       #endregion 
    
    评论
    解决 无用
    打赏 举报
  • qq_30591965 2018-01-25 04:08

    读取文件夹下的所有文件夹

    评论
    解决 无用
    打赏 举报
  • abcfgh 2018-01-25 06:41

    我最近开发了一个FTP多线程下载程序,用到了你提到的获取目录功能;
    具体方法如下:

     FtpWebRequest request=(FtpWebRequest)FtpWebRequest.Create(new Uri(ftpURI));//ftpURI为你指定的远程目录;
     request.Method = WebRequestMethods.Ftp.ListDirectory;//设置FTP命令获取指定文件夹下的文件列表
     //下边要定义变量
     response = reqFTP.GetResponse();
     reader = new StreamReader(response.GetResponseStream(), ftpencode);
     line = reader.ReadLine(); //这里为返回的目录细节
    

    注意流的关闭操作

    评论
    解决 无用
    打赏 举报
  • lsd_jllst00 2018-01-25 07:14

    使用Directory.类可以实现对整个文件夹的操作,如删除,移动,改名等string path = Server.MapPath("/Files/"); //文件夹路径string[] paths = Directory.GetFiles(path); //获取文件夹下全部文件路径List files = new List(); foreach (string filepath in paths) { FileInfo file = new FileInfo(filepath); //获取单个文件 files.Add(file); }return files; //所有文件

    评论
    解决 无用
    打赏 举报
  • xgn8023 2018-01-25 18:15

    FtpWebRequest request=(FtpWebRequest)FtpWebRequest.Create(new Uri(ftpURI));//ftpURI为你指定的远程目录;
    request.Method = WebRequestMethods.Ftp.ListDirectory;//设置FTP命令获取指定文件夹下的文件列表
    //下边要定义变量
    response = reqFTP.GetResponse();
    reader = new StreamReader(response.GetResponseStream(), ftpencode);
    line = reader.ReadLine(); //这里为返回的目录细节

    评论
    解决 无用
    打赏 举报
  • mooniscrazy 2018-01-26 15:19

    问题表述不清楚没法回答啊。服务器是ftp还是http至少要说清楚。

    评论
    解决 无用
    打赏 举报
  • sxycliga 2018-09-30 09:35

    网上搜跨域访问。如同部署flash项目。把服务器的目录配置为网站。然后访问它。

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题