从响应中提取附件
Extract attached file from response
根据Whitesource document,响应headers将有
Content-Type = application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Content-Disposition: attachment; filename=<product name>.xslx
我想提取那个 xslx 文件,但是我不知道如何提取。我试过将响应写入文件,但我得到的只是一堆二进制字符。
Invoke-RestMethod -SkipCertificateCheck -Method Post -ContentType 'application/json' -Body $body -Uri "https://app.whitesourcesoftware.com/api/v1.3 | Out-File "abcd.csv"
我也试过在写入之前将响应转换为 csv,但这也不起作用。
Invoke-RestMethod -SkipCertificateCheck -Method Post -ContentType 'application/json' -Body $body -Uri "https://app.whitesourcesoftware.com/api/v1.3 | ConvertTo-CSV | Out-File "abcd.csv"
有什么想法吗?
经过一番挖掘,我意识到该文件存在于响应的 content
部分。我使用 Invoke-WebRequest
而不是 Invoke-RestMethod
。这是我的脚本:
$response = Invoke-WebRequest -Method Post -ContentType 'application/json' -Body $body -Uri $server
[System.IO.File]::WriteAllBytes("report.xlsx", $response.content)
这会将附件写入名为 report.xlsx
的文件。
根据Whitesource document,响应headers将有
Content-Type = application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Content-Disposition: attachment; filename=<product name>.xslx
我想提取那个 xslx 文件,但是我不知道如何提取。我试过将响应写入文件,但我得到的只是一堆二进制字符。
Invoke-RestMethod -SkipCertificateCheck -Method Post -ContentType 'application/json' -Body $body -Uri "https://app.whitesourcesoftware.com/api/v1.3 | Out-File "abcd.csv"
我也试过在写入之前将响应转换为 csv,但这也不起作用。
Invoke-RestMethod -SkipCertificateCheck -Method Post -ContentType 'application/json' -Body $body -Uri "https://app.whitesourcesoftware.com/api/v1.3 | ConvertTo-CSV | Out-File "abcd.csv"
有什么想法吗?
经过一番挖掘,我意识到该文件存在于响应的 content
部分。我使用 Invoke-WebRequest
而不是 Invoke-RestMethod
。这是我的脚本:
$response = Invoke-WebRequest -Method Post -ContentType 'application/json' -Body $body -Uri $server
[System.IO.File]::WriteAllBytes("report.xlsx", $response.content)
这会将附件写入名为 report.xlsx
的文件。