Sample code for 30+ languages & platforms
PowerShell

FTP Download Binary File to a Stream

See more FTP Examples

Demonstrates how to FTP download a binary file to a Chilkat stream.

Note: This example requires Chilkat v9.5.0.67 or greater.

Chilkat PowerShell Downloads

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

$success = $false

# This example assumes the Chilkat FTP2 API to have been previously unlocked.
# See FTP2 Unlock Sample for sample code.

$ftp = New-Object Chilkat.Ftp2

$ftp.Hostname = "www.my-ftp-server.com"
$ftp.Username = "mFtpLogin"
$ftp.Password = "myFtpPassword"
$ftp.AuthTls = $true
$ftp.Passive = $true

# Connect and login to the FTP server using TLS.
$success = $ftp.Connect()
if ($success -ne $true) {
    $($ftp.LastErrorText)
    exit
}

# We'll read the incoming data chunk-by-chunk and write to an output file.
$fac = New-Object Chilkat.FileAccess
$success = $fac.OpenForWrite("qa_output/penguins2.jpg")
if ($success -ne $true) {
    $($fac.LastErrorText)
    exit
}

$streamObj = New-Object Chilkat.Stream

# Create a task to do the FTP download.
$t = $ftp.GetFileToStreamAsync("penguins2.jpg",$streamObj)
if ($ftp.LastMethodSuccess -ne $true) {
    $($ftp.LastErrorText)
    exit
}

# Start the task in a background thread.
$t.Run()

$bd = New-Object Chilkat.BinData
while ($streamObj.EndOfStream -ne $true) {
    # Get the next chunk of JPG bytes.
    $streamObj.ReadBd($bd)
    # Do something with it..
    # In this simple example, we'll just write to the file.
    $fac.FileWriteBd($bd,0,0)
    # Clear for the next read.
    $bd.Clear()
}

$fac.FileClose()

$("Success.")