5

有没有办法重命名 FTP 目录中的文件?我正在将实时图像从计算机传输到 FTP,但问题是当它将图像上传到 FTP 时,它会立即替换文件。我想先上传带有临时名称的图像,然后重命名为 live.jpg。这就像缓存文件上传一样。

while($true)
{
    $i++
    $File = "c:\live\temp.jpg"
    $ftp = "ftp://username:password@example.com/camera/temp.jpg"

    $webclient = New-Object System.Net.WebClient
    $uri = New-Object System.Uri($ftp)

    $webclient.UploadFile($uri, $File)
}

如何在脚本中正确使用它?

Rename-Item ..\camera\temp.jpg live.jpg

谢谢!

4

2 回答 2

6

试试这个:

$ftp = [System.Net.FtpWebRequest]::Create("ftp://username:password@example.com/camera/temp.jpg")
$ftp.KeepAlive = $true
$ftp.UsePassive = $true
$ftp.Method = "Rename"
$ftp.RenameTo = "camera/temp1.jpg"
$ftp.UseBinary = $true
$response = [System.Net.FtpWebResponse] $ftp.GetResponse()
于 2012-08-22T14:46:56.073 回答
1
$ftp = [System.Net.FtpWebRequest]::Create("ftp://username:password@example.com/camera/temp.jpg")
$ftp.KeepAlive = $true
$ftp.UsePassive = $true
$ftp.Method = "Rename"
$ftp.RenameTo = "camera/temp1.jpg"
$ftp.UseBinary = $true
$response = [System.Net.FtpWebResponse] $ftp.GetResponse()

我不得不调整 $ftp.RenameTo 行并删除目录以使其对我有用:

$ftp.RenameTo = "temp1.jpg"

不管怎么说,还是要谢谢你

于 2021-01-18T14:05:01.637 回答