试图从同一网络上的另一台计算机检索文件
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();
我正在尝试从与我同一网络的计算机复制图像文件,但是 运行 出现异常。
我 运行 作为 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();