Jak włączyć interfejs API plików JavaScript w IE8
W asp.net opracowałem aplikację internetową, w tym projekcie jest strona, z której użytkownik powinien wybrać plik w formacie obrazu (jpeg, jpg, bmp, ...) i chcę wyświetlić podgląd obrazu na stronie, ale nie mam Chcę wysłać plik do serwera Chcę obsłużyć go w kliencie Zrobiłem to za pomocą funkcji skryptów java za pośrednictwem API pliku, ale działa tylko w IE9, ale większość klientów używa IE8, ponieważ IE8 nie obsługuje API plików czy jest jakiś sposób, aby ulepszyć IE8 lub niektóre łaty w kodzie, to znaczy sprawdzić, czy przeglądarka jest IE, a nie obsługuje API plików, które automatycznie aktualizują IE8 do IE9.
Nie chcę prosić użytkownika o zrobienie tego w wiadomości Chcę to zrobić programowo !!
nawet jeśli możliwe jest zainstalowanie specjalnej poprawki wymaganej dla API plików, ponieważ klienci uważali, że jest to błąd w mojej aplikacji, a ich wiedza na temat komputera jest niska, co mam z tym zrobić?
Używam również Async File Upload Ajax Control, ale umieszcza plik na serwerze w dowolny sposób z rozwiązaniem ajax i programem obsługi HTTP, ale skrypty java robią to wszystko w przeglądarce klienta !!!
po sprawdzeniu skryptu przeglądarka obsługuje interfejs API lub nie
<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>
następujące skrypty odczytują i wczytują obraz
function readfile(e1)
{
var filename = e1.target.files[0];
var fr = new FileReader();
fr.onload = readerHandler;
fr.readAsText(filename);
}
Kod HTML:
<input type="file" id="getimage">
<fieldset><legend>Your image here</legend>
<div id="imgstore"></div>
</fieldset>
Kod 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>