怎么用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 无法获取啊,希望能给点参考意见,万分感谢!
回复内容
【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 无法获取啊,希望能给点参考意见,万分感谢!
相关文章推荐
- C#.Net遍历远程文件夹下的所有文件
- Android模拟器下怎么建一个SD卡及其上传资料和文件夹的建立及经常用的adb命令全解
- C#文件夹选择框的使用(C#选择文件夹,C# 打开文件夹,C# 浏览文件夹,C#怎么选择文件夹)
- C#访问远程共享加锁文件夹
- C# 备份、还原、拷贝远程文件夹
- 公司员工没有管理员权限怎么办 C#文件夹、文件添加权限 C#读取windows系统日志 C#设置环境变量
- C# Visual Studio 2005中在指定文件夹下通过传递参数建立一个文件夹
- C#匿名对象在其它方法体内怎么取到相应的值(不想建立对应的类并转化的情况下)?
- C# 备份、还原、拷贝远程文件夹
- C# 怎么检查文件夹中文件被占用
- .net c# 服务器共享文件夹 windows远程登陆 代码
- C# 建立文件夹
- 【原创】不小心把.settings文件夹, 以及.classpath和.project文件push进了远程仓库了怎么办
- C#建立文件夹
- [C# | WinCE | Solution] 在 WinCE 上访问 SSL 加密后的 WCF SOAP 服务接口出现“未能与远程服务器建立信任关系”
- C#建立文件夹
- C#支持远程创建文件夹,上传文件2
- 到底C#项目中的BLL,DAL,WEB文件夹是怎么来的呢?
- 建立新文件夹并保存远程图片