2017-01-31 3 views
0

Ich brauche Hilfe, um Byte-Array in Datei-Stream zu konvertieren. Ich verwende folgende Powershell-Skript Dokument von WebByte-Array in FileStream konvertieren

$wc = New-Object System.Net.WebClient 
$bytearr = $wc.downloaddata('URL') 

Jetzt zum Download, ich brauche das Byte-Array passieren

$FileCreationInfo = New-Object Microsoft.SharePoint.Client.FileCreationInformation 
$FileCreationInfo.ContentStream = ## Need to Pass Byte Array as FileStream ## 

Jede Hilfe FileSteam?

+3

'[IO.MemoryStream] $ bytearr'? – wOxxOm

+0

Dank @wOxxOm Wie viel naiv von mir :( – Farhan

+0

Genau @wOxxOm Ich suche Powershell Beispiele – Farhan

Antwort

0

Ich bin nicht vertraut mit der Sharepoint-API, aber in der Dokumentation für die FileCreationInformation class Ich sehe, gibt es eine Content property des Typs byte[]. Unter der Annahme, es den gleichen Zweck wie die ContentStream property dient, können Sie einfach tun ...

$FileCreationInfo.Content = $bytearr 

Wenn Sie nicht die Daten müssen auf 'URL' für etwas anderes als $FileCreationInfo bevölkern, betrachten die WebClient.OpenRead method Aufruf, anstatt die Daten zu erhalten als Stream in erster Linie ...

$FileCreationInfo.ContentStream = $wc.OpenRead('URI') 

als letztes Mittel, und die allgemeine Frage zu beantworten, können Sie „convert“ ein byte[] zu einem Stream indem er in einem MemoryStream Einwickeln ...

$FileCreationInfo.ContentStream = New-Object -TypeName 'System.IO.MemoryStream' -ArgumentList (,$bytearr) 

Ich habe diese Schnipsel aus meinem Code weggelassen, aber vergessen Sie nicht zu Close()/Dispose() irgendwelche Stream Objekte, die Sie erstellen, wenn die Sharepoint-Client für Sie behandeln nicht, dass!

Verwandte Themen