将从Invoke RestMethod获取的流写入PowerShell中的映像文件

将从Invoke RestMethod获取的流写入PowerShell中的映像文件,powershell,stream,Powershell,Stream,我有一个Asp.NETWebAPI,它可以将图像流返回到客户端 public HttpResponseMessage GetImage(string imageId) { ... var response = new HttpResponseMessage(); response.Content = new StreamContent(fileStream); return response; } 使用fiddler,我可以看到图像已成功下载。我想要实现的是使用

我有一个Asp.NETWebAPI,它可以将图像流返回到客户端

public HttpResponseMessage GetImage(string imageId)
{
    ...
    var response = new HttpResponseMessage();
    response.Content = new StreamContent(fileStream);
    return response;
}
使用fiddler,我可以看到图像已成功下载。我想要实现的是使用PowerShell将其保存到本地映像

$result = Invoke-RestMethod ...
我得到了
$result
,但不知道如何将其保存到本地磁盘,我尝试了以下方法:

# 1
$result | Out-File ".../test.png"

# 2: this exception said the $result is a string, cannot convert to Stream
$fs = New-Object IO.FileStream "...\test.png","OpenOrCreate","Write"
([System.IO.Stream]($result)).CopyTo($fs)

使用PowerShell将映像保存到本地的正确方法是什么?

使用
-OutFile
开关:

$url=”http://cdn.sstatic.net/stackoverflow/img/sprites.png?v=3c6263c3453b"
调用RestMethod$url-OutFile somefile.png

您也可以使用
Invoke WebRequest
而不是
Invoke RestMethod

,但是
$result
不是url,而是流。
Invoke RestMethod
必须有一个目标url,您的GET请求是针对某个对象(?)嗯,您是正确的。非常感谢,它成功了。实际上,我以前试过
$result | Out File..
,但没用。