您的位置:首页 > 编程语言 > C#

怎么用C#在ftp服务器(远程)上建立文件夹?

2008-07-25 10:29 190 查看
现在由于项目的需要,需要在ftp服务器上根据情况建立文件夹,然后把本地文件上传上去,全部用C#实现,现在就在想,上传很简单,怎么在ftp服务器上远程建立文件夹呢?权限是管理员用户权限,应该是最大的了,呵呵。哪位大虾给点提示代码看看,成功立马给分,谢谢!

回复内容

【FarAwayFromHome】:

在网上找了些资料,有人说可以给ftp服务器发送命令,然后让ftp服务器去建立文件夹,不知是否可行,具体的方案还没有找到,还有更好的方案不?

【yangfan369】:

FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri);

request.Credentials = ftpCredential;

request.Method = WebRequestMethods.Ftp.MakeDirectory;

【yangfan369】:

NetworkCredential ftpCredential=new NetworkCredential(userName,passWord);

FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri);

request.Credentials = ftpCredential;

request.Method = WebRequestMethods.Ftp.MakeDirectory;

--忘了一句,呵呵

具体参见FtpWebRequest在MSDN中的例子

【michael556cdj】:

public static bool DeleteFileOnServer(Uri serverUri)

{

// The serverUri parameter should use the ftp:// scheme.

// It contains the name of the server file that is to be deleted.

// Example: ftp://contoso.com/someFile.txt.
//

if (serverUri.Scheme != Uri.UriSchemeFtp)

{

return false;

}

// Get the object used to communicate with the server.

FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri);

request.Method = WebRequestMethods.Ftp.DeleteFile;

FtpWebResponse response = (FtpWebResponse) request.GetResponse();

Console.WriteLine("Delete status: {0}",response.StatusDescription);

response.Close();

return true;

}

【FarAwayFromHome】:

To:yangfan369(扬帆远行)

谢谢你的回答,我调试了一下,还是不行啊,执行完了,服务器上没有任何反应哦!

【yangfan369】:

少了一句,不好意思:

request.GetResponse();

【yangfan369】:

或者:

string rsult = ((FtpWebResponse)request.GetResponse()).StatusDescription;

可以看到返回结果

【FarAwayFromHome】:

非常感谢 yangfan369 分已给出!

但是又出现一个问题(如果有时间可以回答一下,我会重新发出另外一个贴的):

在服务器上建立目录是解决了,但是第一次建立好的目录,第二次上传的时候要删除掉,删除方法是找到了,用 WebRequestMethods.Ftp.RemoveDirectory;但是问题出来了,不知道ftp的目录情况啊,要知道目录才能删除,我想到了用 WebRequestMethods.Ftp.ListDirectoryDetails; 可是返回的目录信息怎么获取到呢?用response 无法获取啊,希望能给点参考意见,万分感谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: