【问题标题】:Dynamically Get File Names In a Folder in my website server ( ftp )在我的网站服务器 (ftp) 的文件夹中动态获取文件名
【发布时间】:2012-10-11 01:29:51
【问题描述】:

我已经在我的网络服务器上上传了一些文件,例如 file1.pdf 和 file2.pdf 和 ... -> ftp.MYWEBSITE.net\wwwroot\myfiles\

现在我想获取所有这些文件名并在我的网站上动态显示它们,

例如,当客户访问地址 www.MYWEBSITE.com 时,他可以在列表中看到所有文件名!

注意MYWEBSITE是上传到wwwroot\mywebsite\default.aspx

我应该使用带有 ftp 用户 ID 和密码的 ftp 连接吗?或者我可以直接转到 \myfiles 路径而不创建新的 ftp 连接?

我应该在 asp.net 中使用任何控件吗?

【问题讨论】:

    标签: c# asp.net vb.net


    【解决方案1】:

    您可以使用以下代码:

     void GetFiles()
            {
                DirectoryInfo d= new DirectoryInfo(strFolderPath);
                var files = d.GetFiles("*.pdf*");
                FileInfo[] subfileInfo = files.ToArray<FileInfo>();
    
                if (subfileInfo.Length > 0)
                {
                    for (int j = 0; j < subfileInfo.Length; j++)
                    {
                        bool isHidden = ((File.GetAttributes(subfileInfo[j].FullName) & FileAttributes.Hidden) == FileAttributes.Hidden);
                        if (!isHidden)
                        {
                            string strExtention = th.GetExtension(subfileInfo[j].FullName);
                            if (strExtention.Contains("pdf"))
                            {                            
                                string path = subfileInfo[j].FullName;
                                string name = bfileInfo[j].Name;                           
                            }
                        }
                    }
                }
    

    【讨论】:

      【解决方案2】:

      如果您的 ftp 和网站在同一台服务器上,您可以使用 .net 库中的文件对象读取文件列表并将其绑定到 ASP.NET 中的转发器控件

      您可以使用 DirectoryInfoFileInfo 对象。

      【讨论】:

        【解决方案3】:

        不要使用 FTP。

        1. 配置启用父路径:http://msdn.microsoft.com/en-us/library/ms524697%28v=vs.90%29.aspx

        2. 获取路径: string strFolderPath = Server.MapPath("~/../myfiles");

        3. 使用Arshad提供的代码

        【讨论】:

          【解决方案4】:

          你可以试试这段代码

          class Program
          {
              static void Main(string[] args)
              {
                  FTPClient client = new FTPClient("ftp://localhost", "ftpUser", "ftpPass");
                  List<string> files = client.DirectoryListing();
                  foreach (string s in files)
                  {
                      Console.WriteLine(s);
                  }
                  Console.ReadLine();
              }
          }
          
          public class FTPClient
          {
            // The hostname or IP address of the FTP server
            private string _remoteHost;
          
            // The remote username
            private string _remoteUser;
          
            // Password for the remote user
            private string _remotePass;
          
            public FTPClient(string remoteHost, string remoteUser, string remotePassword)
            {
              _remoteHost = remoteHost;
              _remoteUser = remoteUser;
              _remotePass = remotePassword;
            }
          
          
            public List<string> DirectoryListing()
            {
              FtpWebRequest request = (FtpWebRequest)WebRequest.Create(_remoteHost);
              request.Method = WebRequestMethods.Ftp.ListDirectory;
              request.Credentials = new NetworkCredential(_remoteUser, _remotePass);
              FtpWebResponse response = (FtpWebResponse)request.GetResponse();
              Stream responseStream = response.GetResponseStream();
              StreamReader reader = new StreamReader(responseStream);
          
              List<string> result = new List<string>();
          
              while (!reader.EndOfStream)
              {
                  result.Add(reader.ReadLine());
              }
          
              reader.Close();
              response.Close();
              return result;
           }
          

          }

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-09-26
            • 2017-03-27
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多