it-swarm.com.de

So erstellen Sie ein Byte-Array aus HttpPostedFile

Ich verwende eine Bildkomponente mit der FromBinary-Methode. Ich frage mich, wie ich meinen Eingabestream in ein Byte-Array konvertiere

HttpPostedFile file = context.Request.Files[0];
byte[] buffer = new byte[file.ContentLength];
file.InputStream.Read(buffer, 0, file.ContentLength);

ImageElement image = ImageElement.FromBinary(byteArray);
147
frosty
BinaryReader b = new BinaryReader(file.InputStream);
byte[] binData = b.ReadBytes(file.InputStream.Length);

zeile 2 sollte durch ersetzt werden

byte[] binData = b.ReadBytes(file.ContentLength);
22
jeff

Es funktioniert nicht, wenn Ihre Datei InputStream.Position auf das Ende des Streams gesetzt ist. Meine zusätzlichen Zeilen:

Stream stream = file.InputStream;
stream.Position = 0;
11
tinamou

in Ihrer Frage scheinen sowohl Buffer als auch ByteArray Byte [] zu sein. So:

ImageElement image = ImageElement.FromBinary(buffer);
3
devio

Wenn Sie Webseiten v2 verwenden, verwenden Sie für Bilder die WebImage-Klasse

var webImage = new System.Web.Helpers.WebImage(Request.Files[0].InputStream);
byte[] imgByteArray = webImage.GetBytes();
2
Jodda

vor stream.copyto müssen Sie stream.position auf 0 zurücksetzen. dann funktioniert es gut.

2
xpfans