Recent searches
No recent searches
Uploading a file with API
Posted Jan 14, 2021
I have read a lot of the posts about this subject but not quite gotten the answer i need.
I am using PowerShell to upload files to ZenDesk, i have it working for the most part. The file is uploaded and i can link it to a ticket.
The problem i have is the content of the file remains as the base64 string, i guess i have something wrong somewhere?
$uploadURL = "https://mysystem.zendesk.com/api/v2/uploads.json"
$fileName = "C:\myfolder\outputlog.log"
$shortFileName = "outputlog.log"
$fileUploadURL = ($uploadURL, "filename=$shortFileName" -join "?")
$fileContent = Get-Content $filename
$fileContentBytes = [System.Text.Encoding]::Unicode.GetBytes($fileContent)
$fileBinary = [System.Convert]::ToBase64String($fileContentBytes)
Invoke-WebRequest -Uri $fileUploadURL -Headers $headers -Method post -ContentType "application/binary" -Body $fileBinary
StatusCode : 201
StatusDescription : Created
Also tried this, $fileBinary = [Convert]::ToBase64String((Get-Content -Path $fileName -Encoding Byte)) with the same result.
0
2
2 comments
Robert Pearman
Just to say i have confirmed it is the base64 string that becomes the content of the text file.
0
Robert Pearman
Made some progress by omitting, $fileBinary = [System.Convert]::ToBase64String($fileContentBytes) and just sending the bytes.
0