积极答复者
C# 操作unix ftp失败

问题
-
FtpWebRequest request = this.CreateRequest(filedir);
request.Method = WebRequestMethods.Ftp.ListDirectory;
FtpWebResponse response = null;
try
{
response = (FtpWebResponse)request.GetResponse();
if(response !=null)
response.Close();
}
catch (WebException we1)
{
if (we1.Status == WebExceptionStatus.ProtocolError)
{
//命令错误
}
if(response !=null)
response.Close();
//此时没有该目录,需要创建
request = this.CreateRequest(filedir);
request.Method = WebRequestMethods.Ftp.MakeDirectory;
try
{
response = (FtpWebResponse)request.GetResponse();
}
catch (WebException e)
{
throw new IOException("创建目录失败!"+e.Message);
}
filedir是我要创建的目录,先用listdirectory来看是否有目录,如果没有则创建,在windows上一切正常,
可是在Sun的unix服务器上,filedir这个目录存在的情况下,listdirectory也报异常,走入创建目录的分支,
导致程序崩溃,报出创建目录失败的错误,请问C#在windows,unix上的程序有什么需要区别对待的地方吗?- 已移动 Sheng Jiang 蒋晟Moderator 2010年3月27日 18:53 System.Net (发件人:Visual C#)
答案
-
搞好了,
//request.Method = WebRequestMethods.Ftp.ListDirectory;
request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
改用ListDirectoryDetails就好了,神奇,难道unix不支持listDirectory的命令?
不知道了,反正问题解决了暂时
- 已建议为答案 Charles Shao 2010年3月24日 2:03
- 已标记为答案 YiChun Chen 2010年3月30日 11:14
全部回复
-
搞好了,
//request.Method = WebRequestMethods.Ftp.ListDirectory;
request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
改用ListDirectoryDetails就好了,神奇,难道unix不支持listDirectory的命令?
不知道了,反正问题解决了暂时
- 已建议为答案 Charles Shao 2010年3月24日 2:03
- 已标记为答案 YiChun Chen 2010年3月30日 11:14