2014-09-29 2 views
7

У меня есть приложение ASP.NET MVC. Это приложение требует jQuery 2.1 из-за других плагинов jquery в приложении. Я пытаюсь предоставить способ для моего пользователя загружать фотографии. В попытке сделать это я смотрел на jQuery file uploader. Мой JavaScript выглядит следующим образом:jquery file upload бросает ошибку

$('#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 

Предварительный просмотр изображения не отображается. Как я могу выбрать изображение и показать предварительный просмотр с помощью плагина JQuery, который работает в IE 8+

+2

jQuery 2.1 не работает в IE8, поэтому, если вы не измените его, он никогда не будет работать в IE8? – adeneo

+0

Что относительно IE9? –

+0

http://jquery.com/browser-support/ – carlodurso

ответ

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

Ты проблема скорее всего связана с поддержкой в ​​JQuery 2.1 для IE8.

Возможные решения:

1- использовать старую версию JQuery. Вы можете использовать любой jQuery 1.6+ с плагином загрузки файла jQuery (Источник: https://github.com/blueimp/jQuery-File-Upload). jQuery 1.x поддерживает IE6 +, поэтому он поддерживает IE8.

2- (РЕКОМЕНДУЕМЫЙ) избавиться от IE8. Обновите версию jQuery до последней стабильной версии. Используйте последнюю версию плагина загрузки файла jQuery. Предоставьте простую загрузку HTML для пользователей IE8.

25

У меня была такая же проблема с Chrome, в моем случае проблема, похоже, в том, что отсутствует jquery-плагин jquery.fileupload-process.js, как упоминал в своих комментариях @jevgenig. надеюсь, это может помочь кому-то

Смежные вопросы