Thank you for the addtional notes Christian! I have another question.
I was able to upload successfully.
But when I download, It’s creating a 0 byte file.
Oddly, I can see the png file in the Curl.OutputData. I downloaded the file I uploaded via CyberDuck, so I know the file is valid.

I tried adding Curl.CloseMTOutputFile, but that didn’t help. Any ideas? Here’s the code I put together from your example file and applying your notes:
[code]FolderItemDownload( pKey as string, pFolderItem as FolderItem ) string
// Set AWS S3-related values.
Dim Service As String = “s3”
Dim Path As String = “/” + S3BucketName + “/” + pKey
Dim Verb As String = “GET”
// Create a cURL instance.
Dim Curl As New CURLSMBS
// Hash Nothing
Dim HashedPayload As String
// Prepare the cURL for the S3 API call.
Dim CurlSetup As Boolean = Curl.SetupAWS( S3AccessKey, S3SecretKey, S3Region, Service, Path, S3Domain, Verb, HashedPayload )
// Make the S3 API call.
Dim CurlPerform As Integer = Curl.Perform
// Get the response. 200 is Success
Dim HTTPResultCode As String = Curl.GetInfoResponseCode.ToText
// Save to a FolderItem
Dim FileCreated as Boolean
If HTTPResultCode = “200” Then
FileCreated = Curl.CreateMTOutputFile( pFolderItem )
Curl.CloseMTOutputFile
End If
Return HTTPResultCode[/code]
I call that method with the code below after setting S3AccessKey, S3SecretKey, S3Region, S3Domain, and S3BucketName:
Dim theFolderItem as FolderItem = SpecialFolder.Desktop.Child("test.png")
Dim theFolderItemUpload as string
theFolderItemUpload = theS3.FolderItemDownload( "Contacts/F30BB9DD-DE9A-4F13-91B1-79BA4A776585/PhotoURL/" + theFolderItem.Name, theFolderItem )