Mam opracowaną aplikację internetową w asp.net, istnieje strona w tym projekcie, który użytkownik powinien wybrać plik w formacie obrazu (jpeg, jpg, bmp, ...) i Chcę wyświetlić podgląd obrazu na stronie, ale nie chcę wysyłać pliku na serwer Chcę go obsłużyć w kliencie, zrobiłem to za pomocą skryptów Java za pośrednictwem interfejsu API plików, ale działa tylko w IE9, ale większość klientów używa IE8 Powodem jest to, że IE8 nie obsługuje pliku API, czy jest jakiś sposób na uaktualnienie IE8 lub kilka poprawek w kodzie? Mam na myśli to, że sprawdzam, czy przeglądarka jest IE, a nie obsługuje API pliku wywołującego funkcję, która automatycznie aktualizuje IE8 do IE9.
Jak włączyć API pliku JavaScript w IE8
Nie chcę prosić użytkownika o zrobienie tego w wiadomości Chcę programowo!
nawet jeśli jest możliwe zainstalowanie specjalnej łaty, która jest wymagana dla pliku API , ponieważ klienci uważali, że jest to błąd w mojej aplikacji, a ich komputerowa wiedza jest niska co mam z tym zrobić?
Używam również funkcji przesyłania plików asynchronicznych Ajax Control Ale przesyłaj plik na serwer w dowolny sposób, korzystając z rozwiązania ajax i obsługi HTTP, ale skrypty java robią to wszystko w przeglądarce klienta !!!
Poniższy skrypt sprawdza przeglądarka obsługuje 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 zrobić odczytu i załadować obrazu
function readfile(e1)
{
var filename = e1.target.files[0];
var fr = new FileReader();
fr.onload = readerHandler;
fr.readAsText(filename);
}
HTML kod:
<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>
dzięki dużo tpeczek będę to sprawdzić, funkcja PolyFill potrzebuje do uruchomienia lampy błyskowej, więc należy poprosić użytkownika, aby pobrać i zainstalować lampy błyskowej i nie chcę, aby zapytać użytkownika zrobić jakakolwiek rzecz, ponieważ użytkownik może zainstalować IE9 w dowolny sposób w oprogramowaniu, gdy programiści zobaczą błąd, który wypuszczają łatkę lub wtyczkę, która poprawia błąd, który wiesz, że chcę skopiować plik DLL w katalogu explorera i wprowadzić pewne zmiany w eksploratorze za pośrednictwem dowolnego rodzaju Skrypty Myślę, że istnieje sposób, że mogę załadować plik i sprawdzić, czy przeglądarka nie obsługuje pliku DLL funkcji pobierania API i wykonać jakąś operację, jak kopiowanie do systemu32 – saeed
Mój wielki problem polega na tym, że IE8 nie obsługuje File API jakikolwiek nawet plik wsadowy do wykonania jakiejś rzeczy – saeed
@saeed Jedynym sposobem na uzyskanie interfejsu API plików obsługiwanego w IE jest posiadanie IE9 +. Nie możesz także zmienić żadnej biblioteki DLL ani instalować żadnego oprogramowania z poziomu aplikacji internetowej - taka możliwość byłaby ogromnym naruszeniem bezpieczeństwa (pamiętaj, że jesteś w piaskownicy). – tpeczek