jquery-fileupload IE8IE9無法上傳圖片的BUG及如何給input[type=file]自定義樣式


先說IE9,點擊上傳后,瀏覽器會提示下載內容。

原因:IE9及以下上傳文件的響應頭的contentType 如果是json,瀏覽器會以為是文件下載。

處理方法:找后台GG,把contentType改為text/html.

再修改done方法,獲得地址

done: function(e, data){
    var result = data.result[0].body ? data.result[0].body.innerHTML : data.result;
    result = JSON.parse(result);
    /* 你自己的代碼*/      
}

 

 

再說IE8,點擊上傳后,出現文件選擇框,但是點擊確認后,瀏覽器不會發送ajax請求。

原因:IE8為了安全考慮,只能通過直接點擊<input type="file">來上傳文件。而我的做法是,隱藏input,通過另外一個按鈕,來觸發input的click事件。

處理方法:把另一個按鈕外面套一個label,設置for="",關聯input。

注意:input依然不能設置成display:none,不然IE8還是不認。所以我的做法是把input的寬高都設置成1px ,透明度設為0。或者設置z-index,把它置於最底層,但是這個方法我還沒實踐過。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM