jquery文件上传引发错误

JQu*_*ile 7 javascript asp.net-mvc jquery

我有一个ASP.NET MVC应用程序.由于应用程序中的其他jquery插件,此应用程序需要jQuery 2.1.我试图为我的用户上传图片提供一种方法.为了做到这一点,我正在查看jQuery文件上传器.我的JavaScript看起来像这样:

$('#userPicture').fileupload({
  dataType: 'json',
  done: function (e, data) {
  }
});
Run Code Online (Sandbox Code Playgroud)

userPicture标记如下所示:

<input id="userPicture" type="file" name="userPicture" data-url="/pictures/User/@ViewBag.UserId">
Run Code Online (Sandbox Code Playgroud)

页面最初加载没有任何错误.当我选择一张图片时,我收到的错误是:

Uncaught Error: no such method 'process' for fileupload widget instance       jquery-2.1.1.js:250
Run Code Online (Sandbox Code Playgroud)

没有显示图像预览.如何通过适用于IE 8+的JQuery插件选择图片并显示客户端预览

小智 27

我在Chrome上遇到了同样的问题,在我的情况下,问题似乎是缺少jquery插件"jquery.fileupload-process.js",正如@jevgenig在他的评论中提到的那样.希望这可以帮助某人


Wis*_*Kik 2

从我检查的规范来看,jQuery 2.x 支持 IE9+。

来源: http: //jquery.com/browser-support/

所以jQuery 2.1不支持IE8。

如果你使用你提到的 jQuery 插件,那么对 IE9 的支持很少:

  • 您一次只能上传一个文件。
  • 您只能使用普通的“文件输入”上传。
  • 没有图像预览。
  • 没有上传进度条。
  • ETC。

如果您支持现代浏览器(Firefox、Chrome、IE10+):

  • 您可以拖放文件。
  • 您可以上传多个文件。
  • 您可以预览图像。
  • 您可以看到上传进度。
  • ETC。

这是完整列表:

https://github.com/blueimp/jQuery-File-Upload/wiki/Browser-support

您的问题很可能与 IE8 的 jQuery 2.1 支持有关。

可能的解决方案:

1-使用较旧的 jQuery 版本。您可以将任何 jQuery 1.6+ 与 jQuery 文件上传插件一起使用(来源:https: //github.com/blueimp/jQuery-File-Upload)。jQuery 1.x 已支持 IE6+,因此也支持 IE8。

2-(推荐)摆脱 IE8。将您的 jQuery 版本升级到最新的稳定版本。使用最新版本的 jQuery 文件上传插件。为IE8用户提供简单的HTML上传。