我正在尝试获取FTP文件夹上的文件列表。 当我在本地运行它时,代码工作正常,但在部署它时,我开始接收html而不是文件名
ArrayList fName = new ArrayList();
try
{
StringBuilder result = new StringBuilder();
//create the directory
FtpWebRequest requestDir =
(FtpWebRequest) FtpWebRequest.Create(new Uri(directory));
requestDir.Method = WebRequestMethods.Ftp.ListDirectory;
requestDir.Credentials = new NetworkCredential(FTP_USER_NAME, FTP_PASSWORD);
requestDir.UsePassive = true;
requestDir.UseBinary = true;
requestDir.KeepAlive = false;
requestDir.Proxy = null;
FtpWebResponse response = (FtpWebResponse)requestDir.GetResponse();
Stream ftpStream = response.GetResponseStream();
StreamReader reader = new StreamReader(ftpStream, Encoding.ASCII);
while (!reader.EndOfStream)
{
fName.Add(reader.ReadLine().ToString());
}
response.Close();
ftpStream.Close();
reader.Close();
答案 0 :(得分:1)
您可以尝试使用GetFileName
Uri uri = new Uri(hreflink);
string filename = Path.GetFileName(uri.LocalPath);
答案 1 :(得分:1)
我能够通过使用ftp服务器的ip地址而不是名称
以列表格式(而不是html)访问文件名即。
ftp://xxx.x.x.xxx/folder_name/
而不是
ftp://abc.some_company.com/folder_name/
我将更详细地编辑这个答案。