Theo tài liệu MSDN, theo mặc định FileExtensionsAttribute (.NET 4.5) nên cho phép tôi chỉ tải lên tệp jpg, jpeg, gif và png - đó là những gì tôi muốn .ASP.NET MVC 3: DataAnnotations.FileExtensionsAttribute không hoạt động
Tôi đã thử tải lên một jpg không có thuộc tính, nó hoạt động. Tuyệt quá. Sau đó, Tôi đã thêm thuộc tính vào mô hình chế độ xem của mình ..
[FileExtensions(ErrorMessage = "Please specify a valid image file (.jpg, .jpeg, .gif or .png)")]
public HttpPostedFileBase ImageFile { get; set; }
Không có niềm vui. Việc xác minh không thành công và ErrorMessage được hiển thị. Trên hết, dường như không có cách nào để chỉ định bất kỳ tiện ích mở rộng tệp tùy chỉnh nào được phép. Tôi đã kết thúc mở rộng FileExtensionsAttribute và sử dụng logic xác minh của riêng tôi, hoạt động như mong đợi. Nhưng tại sao cách này không hiệu quả?
Sẽ đăng toàn bộ bộ điều khiển và xem nếu được yêu cầu. Tôi đã sử dụng ví dụ này làm cơ sở cho logic tải lên, nhưng sử dụng DataAnnotations.FileExtensionsAttribute thay vì Microsoft.Web.Mvc.FileExtensions .. How do I upload images in ASP.NET MVC?
Cảm ơn. Bạn đã đúng về FileExtensionsAttribute không biết cách truy cập tên tệp. Dường như mong đợi một chuỗi như tham số để xác minh. –
Ngoài ra, cũng giống như một lưu ý, tôi nhận ra thông báo lỗi là thuộc tính trong khi chuỗi bộ lọc mở rộng tệp chỉ có thể được đặt làm đối số hàm tạo tùy chọn (nó là thuộc tính chỉ đọc). Cú pháp hơi khác một chút. –