0

我正在尝试使用 ASp.NET MVC 3 和 Jquery 发布图像。我在视图中有以下代码

form action="/profile/upload" method="post" enctype="multipart/form-data">

    <label for="photo">Photo:</label>
    <input name="photo" id="photo" type="file">

    <input value="Upload" type="submit">
</form>

并在控制器中

public ActionResult Upload(HttpPostedFileBase photo)
{
    string path = @"D:\Temp\";

    if(photo != null)
        photo.SaveAs(path + photo.FileName);

    return RedirectToAction("Index");
}

我想要的是我只想通过文件上传上传 jpg 或 png 文件。我想在 JQuery 中进行验证。

请任何人都可以建议一个简单的方法以及如何在提交被触发之前检查验证..

<form action="/profile/upload" method="post" enctype="multipart/form-data">

    <label for="photo">Photo:</label>
    <input name="photo" id="photo" type="file">

    <input value="Upload" type="submit">
</form>
4

1 回答 1

0

如果您使用的是支持 HTML 5 的现代网络浏览器,您可以像这样限制文件类型:

<input name="photo" id="photo" type="file" accept="image/jpg, image/png" />

作为替代方案,您可以使用 jquery.validate 插件在提交表单时检查所选文件的文件扩展名并相应地显示验证错误。会有2种情况:

  1. 您正在使用内置 ASP.NET MVC 3 的 jquery 不显眼验证。在这种情况下,您将必须编写一个自定义适配器,如我在this post.
  2. 您直接使用 jquery.validate 插件并自己编写规则。在这种情况下,定义custom rule.
于 2013-03-03T17:17:58.010 回答