我正在尝试使用Azure功能。基本上我的用例是使用GUID调用函数作为GET参数,具有下载WIX工具包DLL和MSI文件的函数,更新MSI文件中的参数,以及将该文件返回给函数的调用者(作为下载)例如提示)。
我大部分时间都在那里,只需要一些帮助就可以获得下载提示/发送,我的代码到目前为止:
$urlWix = "http://domain/wix.dll"
$outputWix = "$Env:TEMP\wix.dll"
Invoke-WebRequest -Uri $urlWix -OutFile $outputWix
try{Add-Type -Path $outputWix}catch{$Null}
$urlMSI = "http://domain/file.msi"
$outputFile = "$Env:TEMP\file.msi"
Invoke-WebRequest -Uri $urlMSI -OutFile $outputFile
$oDatabase = New-Object Microsoft.Deployment.WindowsInstaller.Database($outputFile,[Microsoft.Deployment.WindowsInstaller.DatabaseOpenMode]::Direct);
$sSQLQuery = "SELECT * FROM Property WHERE Property= 'MYPROPERTY'"
[Microsoft.Deployment.WindowsInstaller.View]$oView = $oDatabase.OpenView($sSQLQuery)
$oView.Execute()
$oRecord = $oView.Fetch()
$oRecord.SetString("Value","MyCustomValue")
$oView.Modify([Microsoft.Deployment.WindowsInstaller.ViewModifyMode]::Update,$oRecord)
$oView.Close();
$oDatabase.Dispose();
$file = get-item $outputFile
write-output $file
答案 0 :(得分:1)
不幸的是,由于内容类型问题,这在powershell中是不可能的。您可以通过C#,F#或Node(isRaw)函数执行此操作。问题是您需要通过JSON响应格式指定标头,该格式会将任何非文本数据转换为base64字符串。
如果您想通过powershell发送文本文件,可以:
{{1}}