jquery文件上传引发错误

时间:2014-09-29 19:40:31

标签: javascript jquery asp.net-mvc

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

$('#userPicture').fileupload({
  dataType: 'json',
  done: function (e, data) {
  }
});

userPicture标记如下所示:

<input id="userPicture" type="file" name="userPicture" data-url="/pictures/User/@ViewBag.UserId">

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

Uncaught Error: no such method 'process' for fileupload widget instance       jquery-2.1.1.js:250

未显示图像预览。如何通过在IE 8 +

中运行的JQuery插件选择图片并显示客户端预览

2 个答案:

答案 0 :(得分:27)

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

答案 1 :(得分:2)

根据我检查的规格,jQuery 2.x支持IE9 +。

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

所以jQuery 2.1不支持IE8。

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

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

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

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

以下是完整列表:

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

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

可能的解决方案:

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

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