gpt4 book ai didi

rest - powershell invoke-restmethod multipart/form-data

转载 作者:行者123 更新时间:2023-12-03 19:45:02 28 4
gpt4 key购买 nike

我目前正在尝试使用 REST API 将文件上传到 Web 服务器。如前所述,我为此使用了 PowerShell。使用 curl 这没问题。调用如下所示:

curl -H "Auth_token:"$AUTH_TOKEN -H "Content-Type:multipart/form-data" -X POST -F appInfo='{"name": "test","description": "test"}' -F uploadFile=@/test/test.test https://server/api/

但是在使用 Invoke-Restmethod 命令将其导出到 powershell 时,我完全无能为力。据我搜索,不可能为此使用 Invoke-Restmethod。 https://www.snip2code.com/Snippet/396726/PowerShell-V3-Multipart-formdata-example
但即使使用了 Snipped,我也不够聪明,无法让它工作,因为我不想上传两个文件,而是一个文件和一些参数。

如果有人能让我回到正轨,我将非常感激:o
谢谢!

最佳答案

它应该非常简单。取自 this answer :

$Uri = 'https://server/api/';
$Headers = @{'Auth_token'=$AUTH_TOKEN};
$FileContent = [IO.File]::ReadAllText('C:\test\test.test');
$Fields = @{'appInfo'='{"name": "test","description": "test"}';'uploadFile'=$FileContent};

Invoke-RestMethod -Uri $Uri -ContentType 'multipart/form-data' -Method Post -Headers $Headers -Body $Fields;

您可能想使用 [IO.File]::ReadAllBytes()如果文件不是文本文件。

如果您上传大文件,这也可能无法正常工作。

关于rest - powershell invoke-restmethod multipart/form-data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36268925/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com