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ÅŸ:

Nasıl Java UTF8 bayt dizileri için Diz...
Kod Onaltılık bayt dönüştürmek İçin Ja...
Nasıl Java hex bir dize bir bayt dizis...
Bayt dizisi (Java)tamsayı dönüştürmek...
bir int içine bayt dizesi (python)dönü...