我們有一個php站點,它可以將圖片上傳到服務器,使用正確的命名方式上傳簡單的jpg文件。問題是,我們需要一次上傳幾百個數據,但一次只能接受1個,重命名並上傳。我已經完成了PS中的文件操作,但未能上傳。通過Powershell將文件上傳到HTTP
PHP上傳相關的部分(據我可以告訴)是這樣的:<form name='' id='' enctype='multipart/form-data' method='POST' action='/picture_upload.php' target='_self' onsubmit="default_on_submit(event)">
我檢查了谷歌,在這裏相關話題的歡迎,並得到了這一點:
$uri = "http://example.com/"
$pwd = ConvertTo-SecureString 'MyPassword' -AsPlainText -Force
$cred = New-Object Management.Automation.PSCredential ('myuser', $pwd)
$contentType = "multipart/form-data"
$body = @{
"FileName" = Get-Content($uploadPath) -Raw
}
Invoke-WebRequest -Uri $uri -Method Post -ContentType $contentType -Body $body
我有選中$uploadPath
並且這是正確的C:\Folder\file.jpg
。我使用憑證登錄到可以通過GUI上傳這些圖片的網站。
我試過在POST和PUT之間切換,沒有任何變化。
替換http://example.com
與http://example.com/file.jpg
也沒有提供差異。不確定,這是使用POST的正確方法。
我們在公司有McAffe網關,但我用繞過它的用戶運行腳本,所以它不會造成這種情況。
我得到的當前錯誤消息是: 「Invoke-WebRequest:底層連接已關閉:接收方發生意外錯誤。」
任何幫助將不勝感激!對不起,如果這已經解決了,我只是錯過了一個入口!
P.S.我也試過這 - Powershell script to Upload log file from local system to http URL,並返回Exception calling "UploadFile" with "3" argument(s): "An exception occurred during a WebClient request."