如何在PowerShell中将二进制Stream对象写入文件?

时间:2013-03-08 17:11:05

标签: powershell

我想我已经尝试了所有错误的方法,那些不仅仅会给出难看的错误消息的少数人会写一个无法打开的乱码文件(你仍然可以看到它中的JFIF,但jpeg魔法烟已经丢失)。

Stream本身是$ contactInfo.Get_Item(“Photo”)。我想我需要做这样的事情:

$br = new-object System.IO.BinaryReader $contactInfo.Get_Item("Photo")

但过去,我不知道该怎么办。我已经尝试过谷歌搜索,但我甚至不确定我在寻找什么是非常诚实的。

Stream对象的类型是Microsoft.Lync.Model.UCStream。

1 个答案:

答案 0 :(得分:3)

我无法访问此特定类型(UCStream),但一般情况下,您会在PowerShell中编写此代码,如下所示:

$br = new-object io.binaryreader $contactInfo.Get_Item("Photo")
$al = new-object collections.generic.list[byte]
while (($i = $br.Read()) != -1)
{
    $al.Add($i)
}

Set-Content photo.jpeg $al.ToArray() -enc byte