Powershell:使用Invoke-RestMethod将文件上传到Docparser API

时间:2017-06-26 19:39:08

标签: rest powershell curl file-upload

$header = @{'Authorization'='Basic <auth code value>'}
$ping = Invoke-RestMethod -Uri "https://api.docparser.com/v1/ping" -Headers $header

ping工作正常...返回“pong”。然后,我请求上传文档所需的Parser ID。我能够成功检索此值。

$parser = Invoke-RestMethod -Uri "https://api.docparser.com/v1/parsers" -Headers $header
$parserID = $parser.id

现在我在这里尝试上传pdf,但失败了。

$fileToParse = "C:\test.pdf"
$body = @{'file'=$fileToParse}
$uploadDoc = Invoke-RestMethod -Uri "https://api.docparser.com/v1/document/upload/$parserID" -Method Post -Headers $header -ContentType 'multipart/form-data' -Body $body

API响应一直说“错误:输入空”

这是Docparser关于如何上传pdfs的文档: enter image description here

对我在这里做错了什么的想法?提前谢谢,

埃里克

1 个答案:

答案 0 :(得分:0)

问题是您的正文当前只包含本地文件的路径。然而,Docparser期望文件的内容为multipart / form-data。

我从未使用过PowerShell,但我觉得这样的事情对你有用:

$body = @{
    "file" = Get-Content($fileToParse) -Raw
}

我从这个答案得到了代码:How to send multipart/form-data with PowerShell Invoke-RestMethod