试图从同一网络上的另一台计算机检索文件

Trying to retrieve a file from another computer on same network

我正在尝试从与我同一网络的计算机复制图像文件,但是 运行 出现异常。

我 运行 作为 Raspberry Pi 上的 aspnet 核心应用程序。带有图像的计算机是同一网络上的 android 设备。 待复制图片地址为:ftp://172.18.10.190:8010/records/2019-07-26/157395.jpg 我可以将 link 放入浏览器并检索图像,但我想将其保存到 Pi。

我试过使用 File.Copy:

System.IO.File.Copy("ftp://172.18.10.190:8010/records/2019-07-26/157395.jpg", directory + "/" + "157395.jpg");

我收到一个找不到目录的错误: NotFoundException:找不到路径的一部分 'home/pi/pcmonitor/ftp:/172.18.10.190:8010/records/2019-07-26/157395.jpg'

在 ftp 被删除后,'home/pi/pcmonitor/' 似乎与正斜杠之一一起被预先添加。

您无法通过 File.Copy 复制或下载 ftp 文件。

您需要像

一样发送请求并保存响应
// Get the object used to communicate with the server.
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftpPath);
request.Method = WebRequestMethods.Ftp.DownloadFile;

// This example assumes the FTP site uses anonymous logon.
request.Credentials = new NetworkCredential("xx", "xx");

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

Stream responseStream = response.GetResponseStream();
using (var fileStream = File.Create(localPath))
{
    responseStream.CopyTo(fileStream);
}

Console.WriteLine($"Download Complete, status {response.StatusDescription}");

response.Close();