日期:2014-05-19  浏览次数:20359 次

高分求救,服务器之间同步的问题
后台系统服务器上的图片,根据一定的规则组织好的目录结构。
要同步上传到前台图片FTP服务器上去,而且目录结构不能变化。
向FTP服务器上传文件可以用
CredentialCache   myCache   =   new   CredentialCache();
                myCache.Add(new   Uri( "ftp://localhost "),   "Basic ",   new   NetworkCredential( "user ",   "password "));

                WebClient   webClient   =   new   WebClient();
                webClient.Credentials   =   myCache;
                webClient.UploadFile( "ftp://localhost/1/1.jpg ",   "STOR ",   @ "D:/1.jpg ");
这种方法成功上传。
但是如果我需要保留图片的目录结构,也就是说有可能要新建目录该怎么办?
望大侠们解答,高分相送!

------解决方案--------------------
up
------解决方案--------------------
可以自己写个程序定时 判断两个文件夹的内容是否相同 不同则按某一文件夹做相应修改
这个方法不是很好 但我用了 感觉可以
------解决方案--------------------
通过 WebRequestMethods.Ftp.ListDirectory来查看现在目录
------解决方案--------------------
可以使用xml把
------解决方案--------------------
你也可以使用UPNOW这样的工具来实现同步啊,不一定要通过代码嘛
------解决方案--------------------
但是如果要判断某一个文件夹是否存在用什么方法?
===========================================
if(Directory.Exists(string directoryPath))
{
// 目录存在
}
else
{
// 目录不存在
}
------解决方案--------------------
服务器你能控制么?知道FTP的物理路径么?如果yes
建议你用web服务,web服务可以在你的FTP服务器上建立你想要建立的文件夹,也可以判断它们是否存在,你可以传递给web服务一个你想要建立的文件夹的名称的集合,然后让服务去判断它们是否存在,如不存在则建立,然后你就会知道你所需要的文件夹,通过你的webClient.UploadFile( "ftp://localhost/1/1.jpg ", "STOR ", @ "D:/1.jpg ");
就可以进行上传了。
------解决方案--------------------
学习!
------解决方案--------------------
将数据据同步得了
------解决方案--------------------
做个镜像多省事
------解决方案--------------------
先压缩 再解压 目录全保留
------解决方案--------------------
MARK,过段时间可能也会用到这个
------解决方案--------------------
同步有几种方案
根据服务器端改变,而在FTP端创建
根据服务器端改变,而在FTP端删除
根据服务器与客户端比较时间差,不同就copy或Delete (one to one or one to many)