Как включить JavaScript файловый API в IE8
Я разработал веб-приложение на asp.net, в этом проекте есть страница, на которой пользователь должен выбрать файл в формате изображения (jpeg, jpg, bmp, ...), и я хочу предварительно просмотреть изображение на странице, но не могу ; t хочу отправить файл на сервер. Я хочу обработать его в клиенте. Я сделал это с помощью функций java-скриптов через файловый API, но он работает только в IE9, но большинство пользователей используют IE8, причина в том, что IE8 не поддерживает файловый API. Есть ли способ сделать обновление IE8 или некоторые исправления в коде позади? Я имею в виду, что проверка, является ли браузер IE и не поддерживает файловый API, вызывает функцию, которая автоматически обновляет IE8 до IE9.
Я не хочу просить пользователя сделать это в сообщении, я хочу сделать это программно !!
даже если есть возможность установить специальный патч, необходимый для файлового API
потому что клиенты думали, что это ошибка в моем приложении, и их компьютерные знания низки
что мне с этим делать?
Я также использую Async File Upload Ajax Control, но он отправляет файл на сервер любым способом с помощью решения ajax и обработчика HTTP, но сценарии Java делают все это в клиентском браузере !!!
следующий скрипт проверяет браузер поддерживает API или нет
<script>
if (window.File && window.FileReader && window.FileList && window.Blob)
document.write("<b>File API supported.</b>");
else
document.write('<i>File API not supported by this browser.</i>');
</script>
следующие скрипты делают чтение и загрузку изображения
function readfile(e1)
{
var filename = e1.target.files[0];
var fr = new FileReader();
fr.onload = readerHandler;
fr.readAsText(filename);
}
HTML код:
<input type="file" id="getimage">
<fieldset><legend>Your image here</legend>
<div id="imgstore"></div>
</fieldset>
Код JavaScript:
<script>
function imageHandler(e2)
{
var store = document.getElementById('imgstore');
store.innerHTML='<img src="' + e2.target.result +'">';
}
function loadimage(e1)
{
var filename = e1.target.files[0];
var fr = new FileReader();
fr.onload = imageHandler;
fr.readAsDataURL(filename);
}
window.onload=function()
{
var x = document.getElementById("filebrowsed");
x.addEventListener('change', readfile, false);
var y = document.getElementById("getimage");
y.addEventListener('change', loadimage, false);
}
</script>