21 EKİM 2011, Cuma
HttpPostedFileBase bayt dönüştürmek[]
Benim MVC uygulamasında, bir dosya yüklemek için aşağıdaki kodu kullanıyorum.
MODEL
public HttpPostedFileBase File { get; set; }
GÖRÜNÜM
@Html.TextBoxFor(m => m.File, new { type = "file" })
Her şey iyi çalışıyor .. Ama sonuç byte fiel dönüştürmek için çalışıyorum. " dedi.Bunu nasıl yapabilirim
DENETLEYİCİSİ
public ActionResult ManagePhotos(ManagePhotos model)
{
if (ModelState.IsValid)
{
byte[] image = model.File; //Its not working .How can convert this to byte array
}
}
CEVAP
21 EKİM 2011, Cuma
Darin dediği gibi, giriş akışından okuyabilirsiniz - ama tüm verileri tek bir yer mevcut olmasına güveniyor önlemek istiyorum. Kullanıyorsanız .NET 4:
MemoryStream target = new MemoryStream();
model.File.InputStream.CopyTo(target);
byte[] data = target.ToArray();
Yeterince kolay CopyTo
eşdeğer yazmak için .Eğer isterseniz NET 3.5. Önemli bölümü HttpPostedFileBase.InputStream
okuma.
Verimli amaçlar içinolabilirakışına döndü zaten MemoryStream
: olup olmadığını kontrol edin
byte[] data;
using (Stream inputStream = model.File.InputStream)
{
MemoryStream memoryStream = inputStream as MemoryStream;
if (memoryStream == null)
{
memoryStream = new MemoryStream();
inputStream.CopyTo(memoryStream);
}
data = memoryStream.ToArray();
}
Bunu Paylaş:
En iyi Python 3 bayt dize dönüştürmek ...
Bayt dizisi (Java)tamsayı dönüştürmek...
bir int içine bayt dizesi (python)dönü...
Bir bayt dizisi java tamsayı veya bunu...
Nasıl Java bayt içine int dönüştürmek ...