我使用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