我有一個簡單的形式:服務器端圖片上傳驗證3 - 限制文件類型,大小和尺寸
@using (Html.BeginForm(null, null, FormMethod.Post, new { enctype="multipart/form-data" }))
{
<input type="file" name="image" />
<br />
<input type="submit" value="Upload" />
}
這我張貼於:
[HttpPost]
public ActionResult Upload(HttpPostedFileBase file)
{
if (file.ContentLength > 0)
{
// All necessary validation logic here
}
return RedirectToAction("Index");
}
我想限制上傳的文件爲jpeg,png和gif格式。我無法限制上傳圖像的最小和最大寬度和高度以及圖像文件大小。
我想我可以通過簡單地改變if
語句來檢查大小:
if (file.ContentLength > 0 && file.ContentLength < maxUploadSize)
我知道如何檢查上傳文件的擴展名,但我寧願檢查它的MIME類型/頭,以及。
問題:
鑑於上面的示例代碼中,我該如何正確驗證上傳的文件?我想,以確保該文件是:
- 一個JPEG,GIF或PNG文件(檢查文件擴展名和文件頭)
- 比最大上傳大小(文件大小)尺寸的
- 沒有大在預先限定的範圍內(寬度/高度)
的可能重複[如何驗證上傳的文件在ASP.NET MVC?(http://stackoverflow.com/questions/6388812/how-to-validate-uploaded-file-in-asp-net-mvc) –