将文件从 URI 格式路径复制到本地路径

Copy file from URI format path to local path

我正在尝试复制服务器上的文件,但我得到的只是它的 URI 格式路径。
我一直在尝试在 C# .NET 4.5 中实现复制,但 CopyFile 似乎不适合处理 URI 格式。
所以我将 IronPython 与 shutil 一起使用,但似乎它也不适合 URI 格式路径。

如何在本地获取该文件?

private string CopyFile(string from, string to, string pythonLibDir, string date)
{
    var dateTime = DateTime.Today;
    if (dateTime.ToString("yy-MM-dd") == date)
    {
       return "";
    }
    var pyEngine = Python.CreateEngine();
    var paths = pyEngine.GetSearchPaths();
    paths.Add(pythonLibDir);
    pyEngine.SetSearchPaths(paths);
    pyEngine.Execute("import shutil\n" +
                     "shutil.copyfile('" + from + "', '" + to + "')");
    return dateTime.ToString("yy-MM-dd");
}

我从 xml 配置文件中获取所有路径。

您可以使用网络客户端,然后获取特定文件夹中的文件。

using (WebClient wc = new WebClient())
    wc.DownloadFile("http://sitec.com/web/myfile.jpg", @"c:\images\xyz.jpg");

或者您也可以使用:HttpWebRequest 如果您只想从服务器读取文件内容。

var http = (HttpWebRequest)WebRequest.Create("http://sitetocheck.com");
var response = http.GetResponse();

var stream = response.GetResponseStream();
var sr = new StreamReader(stream);
var content = sr.ReadToEnd();

和Python

import urllib
urllib.urlretrieve("http://www.myserver.com/myfile", "myfile.txt")

urlretrieve

Copy a network object denoted by a URL to a local file, if necessary. If the URL points to a local file, or a valid cached copy of the object exists, the object is not copied.