Я хотел бы преобразовать следующую команду:
$ curl -X POST \
-H 'Content-Type: multipart/form-data' \
-H "Session-Token: [Session Token]" \
-H "App-Token: [MyToken] " \
-F 'uploadManifest={"input": {"name": "Uploaded document", "_filename" : ["file.txt"]}};type=application/json' \
-F 'filename[0]=@file.txt' \
'http://path/to/glpi/apirest.php/Document/'
Используя команду Invoke-RestMethod. Я следую, прибыл к следующему результату, но невозможно понять, как передать эту часть этому:
"-F 'uploadManifest={"input": {"name": "Uploaded document", "_filename" : ["file.txt"]}};type=application/json' \"
Мой результат:
$header = @{} ;
$header['Session-Token'] = $session
$header['App-Token'] = $apptoken
$header['Accept'] = "application/json"
$header['Content-Type'] = "multipart/form-data"
$body_input = @{}
$body_input["name"] = "My Document"
$body_input["_filename"] = "MyDoc.txt"
$InputObjectTab = @{} ;
$InputObjectTab."input" = $body_input ;
$JsonItem = ConvertTo-Json $InputObjectTab
$FilePath = "C:\Users\MyUser\Downloads\test.txt" ;
$uri = "$GlpiUri/apirest.php/Document"
$GlpiDocument = Invoke-RestMethod -uri $uri -Method Post -Headers $header -ContentType 'image/jpg' -InFile $FilePath
Как вы понимаете, эта команда позволяет вам загрузить файл, используя REST API
Есть идеи?