gpt4 book ai didi

powershell - Invoke-RestMethod:您必须将ContentLength字节写入请求流

转载 作者:行者123 更新时间:2023-12-02 23:54:28 26 4
gpt4 key购买 nike

我正在尝试将文件上传到URL。我尝试了这两种方法:

Invoke-RestMethod -Uri $uploadUrl -Method Put -Headers $uploadHdrs -InFile $uploadFilePath

Invoke-RestMethod -Uri $uploadUrl -Method Put -body $uploadFileBody -Headers $uploadHdrs

我得到的错误:
Invoke-RestMethod : You must write ContentLength bytes to the request stream
before calling [Begin]GetResponse.

如果我添加了 -TransferEncoding参数,我会从服务器收到错误消息说不受支持。

如何包含内容长度?

最佳答案

我认为您需要使用其他命令,例如Invoke-WebRequest,甚至最好直接从PowerShell调用.NET的 WebClient.UploadFile () .UploadData 方法。

尽管REST方法从概念上可能包括上传文件,但这并不意味着Invoke-WebRequest命令已经过测试以支持您的方案。我建议您降低级别(例如WebClient),因为我们知道(由较大的.NET团队)已经测试了更多方案,并且WebClient上有各种各样的方法可以支持特定方案。

您可能会发现一个关于如何从PowerShell调用这些方法的示例,网址为https://social.technet.microsoft.com/Forums/windowsserver/en-US/0c268c7e-674c-49bc-9933-a87a95f8f44c/powershell-webclientuploadfile?forum=winserverpowershell

附言有关请求流的消息来自更低级别的.NET API,但WebClient使用起来更简单,应注意正确设置ContentLength,并希望它“恰到好处”。

关于powershell - Invoke-RestMethod:您必须将ContentLength字节写入请求流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48711857/

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