Versuch Stream-Objekt byte [] und mit Hilfe der folgenden Verfahren für das gleiche zu konvertieren:Convert Stream byte [] C# für große Dateien von 2GB
public static byte[] ReadFully(System.IO.Stream input)
{
byte[] buffer = new byte[16*1024];
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
int read;
while ((read = input.Read(buffer, 0, buffer.Length)) > 0)
{
ms.Write(buffer, 0, read);
}
return ms.ToArray();
}
}
jedoch der Eingangsparameter „Eingang“ für groß ist Datei, die von 2 GB ist und daher nicht in die while-Schleife eingeht und daher nicht in Byte-Array konvertiert wird.
Für kleinere Dateien, die es funktioniert gut
Ich vermute, Sie haben eine harte Zeit haben, ein Array mit mehr als 2^31 Elementen zu schaffen. Warum musst du das tun? –
Der Versuch, die große Datei mit Sharepoint 2010 - Client-Objektmodell zu downloaden. Wir haben Datei von 2 GB. Um es herunter zu laden, benutzten wir den folgenden Code: FileInformation fileInfo = Microsoft.SharePoint.Client.File.OpenBinaryDirect (clientContext, "thisFile"); System.IO.Stream stream = fileInfo.Stream; Nun ist unsere Projektanforderung, dass wir Byte [] und nicht Stream-Objekt zurückgeben wollen und daher versuchen, den Stream in Byte umzuwandeln [] – nina
Diese "Projektanforderung" klingt ziemlich ruppig, um ehrlich zu sein. Haben Sie überprüft, ob ein so großes Byte-Array möglich ist? –