ASP.NET 核心 IFormFile 验证
ASP.NET Core IFormFile validation
public IFormFile UploadedImage { get; set; }
<div class="form-group row">
<label asp-for="UploadedImage" class="ml-2">Image</label>
<input asp-for="UploadedImage" class="form-control" type="file"/>
<span asp-validation-for="UploadedImage" class="text-danger"></span>
</div>
目前用户可以上传任何东西,这会导致后端出现糟糕的情况。
有没有简单明了的方法只允许上传图片?在网上查看一些解决方案看起来绝对可怕,但它们已有 5 年以上的历史,所以也许 .NET 有更好的方法来做到这一点。
比如 [Image]
属性什么的。
您可以尝试使用accept
属性。
这是一个演示:
查看:
<div class="form-group row">
<label asp-for="UploadedImage" class="ml-2">Image</label>
<input asp-for="UploadedImage" class="form-control" type="file" accept="image/png, image/jpeg, image/gif"/>
<span asp-validation-for="UploadedImage" class="text-danger"></span>
</div>
当您点击选择文件时,您只能看到 select 类型为 .png,.jpeg,.gif
的文件。
这是我的文件:
当我点击选择文件时:
public IFormFile UploadedImage { get; set; }
<div class="form-group row">
<label asp-for="UploadedImage" class="ml-2">Image</label>
<input asp-for="UploadedImage" class="form-control" type="file"/>
<span asp-validation-for="UploadedImage" class="text-danger"></span>
</div>
目前用户可以上传任何东西,这会导致后端出现糟糕的情况。
有没有简单明了的方法只允许上传图片?在网上查看一些解决方案看起来绝对可怕,但它们已有 5 年以上的历史,所以也许 .NET 有更好的方法来做到这一点。
比如 [Image]
属性什么的。
您可以尝试使用accept
属性。
这是一个演示:
查看:
<div class="form-group row">
<label asp-for="UploadedImage" class="ml-2">Image</label>
<input asp-for="UploadedImage" class="form-control" type="file" accept="image/png, image/jpeg, image/gif"/>
<span asp-validation-for="UploadedImage" class="text-danger"></span>
</div>
当您点击选择文件时,您只能看到 select 类型为 .png,.jpeg,.gif
的文件。
这是我的文件:
当我点击选择文件时: