SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • kourtneyannmakeup

    kourtneyannm

    19 ŞUBAT 2012
  • mist64

    mist64

    30 Mayıs 2006
  • mliskIT

    mliskIT

    29 Mart 2012