【发布时间】:2014-09-18 06:59:54
【问题描述】:
我正在尝试将我的文件从主域复制到折叠的子域
我习惯了下面的代码
CopyFiles("http://192.168.10.119:8010/1.jpg", "http://192.168.10.120:8010/TestFolder/1.jpg");
public void CopyFiles(string sourcePath, string destinationPath)
{
string[] files = System.IO.Directory.GetFiles(sourcePath);
Parallel.ForEach(files, file =>
{
System.IO.File.Copy(file, System.IO.Path.Combine(destinationPath, System.IO.Path.GetFileName(file)));
});
}
然后我得到一个错误:
不支持 URI 格式。
任何人都可以解决这个问题。谢谢:)
【问题讨论】:
-
File.Copy只能在本地文件系统上进行复制。如果你想通过 HTTP 做这样的事情,也许可以查看一个名为 WebDAV 的 HTTP 扩展协议来寻找解决方案。 IIS 支持它(AFAIK),但它必须至少在目标主机上启用。 -
File.Copy也可以使用网络共享进行复制,因此如果您可以设置,您仍然可以使用File.Copy进行复制,例如\\192.168.10.119\WebShare\1.jpg到\\192.168.10.120\WebShare\TestFolder\1.jpg. -
这段代码将在哪里运行?在两台服务器之一上?或其他远程管理机器?或者是其他东西??简而言之,请更详细地描述场景(更具体更好,你想从用户的角度解决什么问题..谁是用户?服务器管理员)..否则你会得到100个建议给你的解决方案.. 其中许多可能远不适合您的需求.. 比如 - WebDAV.. 您甚至可以访问 IIS 服务器吗?如果尚未安装组件,您是否允许安装,或者您是否允许运行 FTP 服务?
-
但我的要求是这样做,不知道为什么人们对我的问题投了反对票。
-
我知道你们都是TOPPERS。这就是为什么我希望最好的方式在那里分享我的问题,但所有人都在努力降低士气