2014-09-29 90 views
7

我有一個ASP.NET MVC應用程序。由於應用中的其他jquery插件,此應用需要jQuery 2.1。我正試圖爲我的用戶上傳圖片提供一種方式。爲了做到這一點,我在看jQuery file uploader。我的JavaScript看起來像這樣:jquery文件上傳拋出錯誤

$('#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 2014-09-29 19:41:56

+0

那麼IE9呢? – 2014-09-29 20:46:43

+0

http://jquery.com/browser-support/ – carlodurso 2014-10-02 02:29:19

回答

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 File Upload插件中使用任何jQuery 1.6+(來源:https://github.com/blueimp/jQuery-File-Upload)。 jQuery 1.x支持IE6 +,所以它支持IE8。

2-(推薦)擺脫IE8。升級你的jQuery版本到最新的穩定版本。使用最新版本的jQuery File Upload插件。爲IE8用戶提供簡單的HTML上傳。

25

我和Chrome有同樣的問題,在我看來,問題似乎是在他的評論中提到的@jevgenig中缺少jquery插件「jquery.fileupload-process.js」。希望這可以幫助別人

相關問題