MSDNのドキュメントによると、FileExtensionsAttribute(.NET 4.5)では、jpg、jpeg、gif、pngファイルのみをアップロードできるようにする必要があります。 。ASP.NET MVC 3:DataAnnotations.FileExtensionsAttributeが機能しない
属性なしでjpgをアップロードしようとしましたが、動作します。すばらしいです。その後 私は
[FileExtensions(ErrorMessage = "Please specify a valid image file (.jpg, .jpeg, .gif or .png)")]
public HttpPostedFileBase ImageFile { get; set; }
喜び..私の見解モデルに属性を追加しました。検証が失敗し、ErrorMessageが表示されます。その上に、許可されたカスタムファイル拡張子を指定する方法はないようです。 私は、FileExtensionsAttributeを拡張し、期待通りに機能する独自の検証ロジックを使用しました。しかし、なぜこのように動作しないのですか?
コントローラ全体を投稿し、必要に応じて表示します。私はアップロードロジックの基礎としてこの例を使用しますが、How do I upload images in ASP.NET MVC?
ありがとう:これは、同様にクライアント側上で動作します@jfeinourの修正版です。 FileExtensionsAttributeについて、ファイル名にアクセスする方法がわからないのはあなたが正しいと思います。検証するパラメータとして文字列が必要と思われます。 –
また、メモと同じように、エラーメッセージがプロパティであることに気付きましたが、ファイル拡張子のフィルタ文字列は、オプションのコンストラクタ引数(読み取り専用プロパティ)としてのみ設定できます。構文は、それぞれ少し異なります。 –