我使用filehost備份雲中的硬盤。這個文件主機提供了一個API來做到這一點,但我無法讓它在PowerShell上運行。在PowerShell中通過HTTP POST上傳文件
在他們的API的網站(http://code.google.com/p/filecloud/wiki/Uploading),他們聲稱,「我們通過HTTP POST請求上傳的文件」,所以我用我信賴POST_Request
功能:
function POST_Request ($url,$parameters) {
$client = New-Object System.Net.WebClient
$contents = [Text.Encoding]::UTF8.GetString(($client.UploadValues($url,$parameters)))
return $contents
}
由於他們網站聲稱他們需要發送2個參數才能上傳(我帳戶和文件的一種id),因此我無法在System.Net.WebClient
對象中使用UploadFile
。
總之,我的問題是:我如何傳遞一個參數(ID)和文件通過POST上傳? (也許與UploadFile
將做到這一點)
非常感謝提前!
是的,那正是''$ parameters''是: '$ parameters = New-Object Collections.Specialized.NameValueCollection'; '$ parameters [「Filedata」] = $ file'; '$ parameters [「id」] = $ MyID' – mechantid 2012-08-07 16:02:41
我調用'POST_Request'後,發現異常: '調用帶有「2」參數的「UploadValues」的異常:「遠程服務器返回錯誤:(415)Unsupported Media Type。「' – mechantid 2012-08-07 16:05:45
這種情況下$ file是什麼? – 2012-08-07 16:10:04