Rename file on FTP with PowerShell
Is there a way to rename the file in a FTP directory? I'm streaming live images from computer to FTP, but problem is that when it uploads the image to FTP it making instant replacement of a file. I want to firstly upload image with temporary name and then make a rename to live.jpg. It's gonna be like cached file uploading.
while($true)
{
$i++
$File = "c:\live\temp.jpg"
$ftp = "ftp://username:[email protected]/camera/temp.jpg"
$webclient = New-Object System.Net.WebClient
$uri = New-Object System.Uri($ftp)
$webclient.UploadFile($uri, $File)
}
How can I use this in script properly ?
Rename-Item ..\camera\temp.jpg live.jpg
Thanx!
Solution 1:
Try this:
$ftp = [System.Net.FtpWebRequest]::Create("ftp://username:[email protected]/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()
Solution 2:
$ftp = [System.Net.FtpWebRequest]::Create("ftp://username:[email protected]/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()
I had to adjust the $ftp.RenameTo line and remove the directory to make it work for me:
$ftp.RenameTo = "temp1.jpg"
Thanks anyway