Я использую класс javascript FileReader для предварительного просмотра изображения перед его загрузкой на сервер. Кажется, что все отлично работает с Firefox и Chrome, но по какой-то причине оно не работает с IE.
Ниже приведен мой код. (Это для рамки Cakephp)
Есть ли способ исправить это, так что он работает и в IE?
<script type="text/javascript"> function imageBack(input) { if (input.files && input.files[0]) { var reader = new FileReader(); reader.onload = function (e) { $('#uploadBackImage').attr('src', e.target.result); $('#cardbackImagePath').attr('value',e.target.result); } reader.readAsDataURL(input.files[0]); } } </script> <input type="file" name="data[Card][uploadBack]" class="file" onchange="imageBack(this);" width="240" height="150" id="CardUploadBack">
В IE вы должны использовать ActiveXObject, потому что IE не является браузером
FileReader является относительно новым дополнением к JavaScript и потому, что Internet Explorer старый, он еще не поддерживает его. Internet Explorer 7/8 не поддерживает его вообще, и IE9 имеет частичную поддержку автономного хранилища. Однако Internet Explorer 10 получит раннюю поддержку. Я бы просто добавил сообщение, чтобы пользователи IE говорили им (вежливо, конечно), чтобы получить настоящий браузер.