PowerShellによるファイルアップロード

●発生している問題
PowerShellからファイルアップロードAPIを利用してpdfファイルをアップロードしようとすると下記のレスポンスが返却されアップロードできない状況です。
以下、エラー内容になります

{
“code”: “CB_IL02”,
“id”: “0fXagrBzqqga0DzULRry”,
“message”: “アップロードするHTTPリクエストの形式が正
しくありません。HTTPリクエストはマルチパート形式である必要があります。”
}

●ソースコード

$Uri = 'https://xxxxx.cybozu.com/k/v1/file.json'
$filePath =  "xxx/xxx/sample.pdf"

# リクエストヘッダー
$headers = @{
    'X-Cybozu-API-Token' = "xxxxx"
}

$fileName = [System.IO.Path]::GetFileName($filePath)
$boundary = '----Boundary'
$tempFile = 'sample.pdf'
$UTF8woBOM = New-Object "System.Text.UTF8Encoding" -ArgumentList @($false)

$sw = New-Object System.IO.StreamWriter($tempFile, $false, $UTF8woBOM)
$sw.Write("--$boundary`nContent-Disposition: form-data; name=`"up_file`"; filename=`"$fileName`"`n")
$sw.Write("Content-Type: application/octet-stream`n`n")
$sw.Close()

$fs = New-Object System.IO.FileStream($tempFile, [System.IO.FileMode]::Append)
$bw = New-Object System.IO.BinaryWriter($fs)
$fileBinary = [System.IO.File]::ReadAllBytes($filePath)
$bw.Write($fileBinary)
$bw.Close()

$sw = New-Object System.IO.StreamWriter($tempFile, $true, $UTF8woBOM)
$sw.Write("`n--$boundary--`n")
$sw.Close()

$response = Invoke-RestMethod -Method POST -Headers $headers -Uri $Uri -InFile $tempFile

また、似たような投稿が下記にあるのですが、「自己解決しました。フォーマットが問題でした。」とあり、具体的にどう解決したのかが当方の知識不足でわからない状況です。

エラーメッセージ通り、Content-Typeはマルチパート形式を指定する必要があるのではないかと思います。

詳細はAPIドキュメントをご参考ください。
ファイルをアップロードする

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。