从 Azure PowerShell 函数提供 HTML 页面
Serving an HTML Page from Azure PowerShell Function
我尝试从 Azure PowerShell 函数提供 HTML 页面。我能够 return HTML 但我知道在哪里可以将 内容类型设置为 text/html 以便浏览器解释HTML.
这里是 example from Anythony Chu 如何在 C# 中实现:
public static HttpResponseMessage Run(HttpRequestMessage req, TraceWriter log)
{
var response = new HttpResponseMessage(HttpStatusCode.OK);
var stream = new FileStream(@"d:\home\site\wwwroot\ShoppingList\index.html", FileMode.Open);
response.Content = new StreamContent(stream);
response.Content.Headers.ContentType = new MediaTypeHeaderValue("text/html");
return response;
}
但在 PowerShell 函数中,我只是 return 使用 Out-File
cmdlet 的文件,没有设置内容类型的选项。这是一个你好世界的例子:
# POST method: $req
$requestBody = Get-Content $req -Raw | ConvertFrom-Json
$name = $requestBody.name
# GET method: each querystring parameter is its own variable
if ($req_query_name)
{
$name = $req_query_name
}
$html = @'
<html>
<header><title>This is title</title></header>
<body>
Hello world
</body>
</html>
'@
Out-File -Encoding Ascii -FilePath $res -inputObject $html
浏览器中的响应如下所示:
知道如何设置内容类型以便浏览器解释 HTML吗?
您可以 return 具有属性 body
、headers
、status
和 isRaw
(可选)的 Response 对象:
$result = [string]::Format('{{ "status": 200, "body": "{0}", "headers": {{
"content-type": "text/html" }} }}', $html)
Out-File -Encoding Ascii $res -inputObject $result;
我尝试从 Azure PowerShell 函数提供 HTML 页面。我能够 return HTML 但我知道在哪里可以将 内容类型设置为 text/html 以便浏览器解释HTML.
这里是 example from Anythony Chu 如何在 C# 中实现:
public static HttpResponseMessage Run(HttpRequestMessage req, TraceWriter log)
{
var response = new HttpResponseMessage(HttpStatusCode.OK);
var stream = new FileStream(@"d:\home\site\wwwroot\ShoppingList\index.html", FileMode.Open);
response.Content = new StreamContent(stream);
response.Content.Headers.ContentType = new MediaTypeHeaderValue("text/html");
return response;
}
但在 PowerShell 函数中,我只是 return 使用 Out-File
cmdlet 的文件,没有设置内容类型的选项。这是一个你好世界的例子:
# POST method: $req
$requestBody = Get-Content $req -Raw | ConvertFrom-Json
$name = $requestBody.name
# GET method: each querystring parameter is its own variable
if ($req_query_name)
{
$name = $req_query_name
}
$html = @'
<html>
<header><title>This is title</title></header>
<body>
Hello world
</body>
</html>
'@
Out-File -Encoding Ascii -FilePath $res -inputObject $html
浏览器中的响应如下所示:
知道如何设置内容类型以便浏览器解释 HTML吗?
您可以 return 具有属性 body
、headers
、status
和 isRaw
(可选)的 Response 对象:
$result = [string]::Format('{{ "status": 200, "body": "{0}", "headers": {{
"content-type": "text/html" }} }}', $html)
Out-File -Encoding Ascii $res -inputObject $result;