2012-09-13 13 views
6

MVC denetleyicimin eylemine resim yüklemeyi denediğimde ve bir doğrulama hatası varsa, düğmelerin her birini tıklatıp tüm dosyalarımı yeniden bulmam gerekiyor. BenDoğrulama hatasına bakmak için HttpPostedFileBase döndürüyor

<input type="file" id="file0" name="Files[0]" /> 
<input type="file" id="file1" name="Files[1]" /> 

ve

public ActionResult Create(ModelClass model, IEnumerable<HttpPostedFileBase> Files) 
{ 
    if(ModelState.IsValid) 
    { 
     //do work 
     if(PhotoValidation.IsValid(Files)) 
     { 
      //do work 
     } 
     else 
     { 
      ModelState.AddModelError("","Photos not valid"); 
     } 
    } 
    return view(model); // Way to return photos back to the view on modelstate error? 
} 

dosya sunucusu para cezasına yayınlanmıştır ama olsun gibi bir kontrolör eylem oluşan bir görünümü varsa

model doğrulama hatası varsa, orada Model VE Dosyaları geri döndürmenin herhangi bir yolu, kullanıcının tekrar yüklemesi gerekmiyor mu?

cevap

8

Bu mümkün değil. Bir giriş sayfasının değeri = "dosya" hiçbir zaman bir HTML sayfasının ayrıştırılmasında kullanılmaz. Bu büyük bir güvenlik riskidir, bu yüzden modern bir tarayıcı onların değerlerini 'saklamasına' izin vermez.

müşterilerinizin HTML5 desteği ile tarayıcı kullandığınızdan emin iseniz, geri yayınlarını ortadan kaldırmak için JavaScript Dosyası API kullanarak deneyebilirsiniz - çek Aşağıdaki makaleler:

+0

Cevabınız için teşekkür ederiz. Bu benim şüphemdi ama emin olmak istedim. Sağladığınız makaleler yardımcı oldu. Tekrar teşekkürler. – kevskree

İlgili konular