więc używam tego kodu do widoku:Ustal, czy przesłany plik jest obraz (dowolny format) na MVC
<form action="" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<input type="submit" />
</form>
To dla modelu
[HttpPost]
public ActionResult Index(HttpPostedFileBase file) {
if (file.ContentLength > 0) {
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName);
file.SaveAs(path);
}
return RedirectToAction("Index");
}
Działa świetnie, chyba że użytkownik dodać plik, który nie jest obrazem. Jak mogę zapewnić, że przesłany plik jest obrazem. Dzięki
istnieje wiele formatów graficznych. –
@ DanielA.White Dokładnie o to pytam. Ustal, że jest to dowolny format obrazu, ale obraz. –
Możesz sprawdzić 'ContentType'' file' jako podstawową formę sprawdzania poprawności. Jeśli to nie wystarczy, możesz spróbować zerknąć na "nagłówek" strumienia plików i sprawdzić, czy pasuje do dowolnego z typów obrazów, które wspierasz, ala http://stackoverflow.com/questions/210650/validate -image-from-file-in-c-sharp – HackedByChinese