FTP传输代码失败,“[System.IO.FileStream]不包含名为”CopyTo“的方法

问题描述 投票:1回答:1

我正在尝试以下代码: Upload files with FTP using PowerShell

$request = [Net.WebRequest]::Create("ftp://ftp.example.com/remote/path/file.zip")
$request.Credentials = New-Object System.Net.NetworkCredential("username", "password")
$request.Method = [System.Net.WebRequestMethods+Ftp]::UploadFile 

$fileStream = [System.IO.File]::OpenRead("C:\local\path\file.zip")
$ftpStream = $request.GetRequestStream()

$fileStream.CopyTo($ftpStream)

$ftpStream.Dispose()
$fileStream.Dispose()

我收到这个错误:

调用此方法时出错:[System.IO.FileStream]不包含名为“CopyTo”的方法。

你有好主意吗?

powershell file-upload ftp stream ftpwebrequest
1个回答
0
投票

对于Stream.CopyTo,您需要.NET framework 4。

  • 升级.NET框架安装
  • 或者使用循环,如我在以下答案的“进度监控”部分中所示: Upload files with FTP using PowerShell $buffer = New-Object Byte[] 10240 while (($read = $fileStream.Read($buffer, 0, $buffer.Length)) -gt 0) { $ftpStream.Write($buffer, 0, $read) }
© www.soinside.com 2019 - 2024. All rights reserved.