Chcę utworzyć podgląd obrazu przed przesłaniem go na serwer przy użyciu JQuery.Tworzenie podglądu obrazu na żywo (przed przesłaniem) za pomocą JQuery
Mój kod, kod JS:
$(function(){
Test = {
UpdatePreview: function(obj){
// if IE < 10 doesn't support FileReader
if(!window.FileReader){
// don't know how to proceed to assign src to image tag
} else {
var reader = new FileReader();
var target = null;
reader.onload = function(e) {
target = e.target || e.srcElement;
$("img").prop("src", target.result);
};
reader.readAsDataURL(obj.files[0]);
}
}
};
});
Moje html:
<input type='file' name='browse' onchange='Test.UpdatePreview(this)' />
<br/><br/>
<img src="#" alt="test" width="128" height="128" />
Zobacz jsfiddle: http://jsfiddle.net/aAuMU/
Po onload
widzę src obrazu (przy użyciu aplikacji konsoli Google) i wygląda to następująco:
data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAAQABAAD//gAEKgD/4gv4SUNDX1BST0ZJTEUAAQEAAAvoAAAAAAIAAABtbnRyUkdCIFhZWiAH2QADABsA...
Jest to sposób, aby uzyskać w javascript podstawę obrazu i przypisać do obrazu na wypadek, gdy używam IE jako przeglądarki?
FileReader
nie działa w IE < 10.
Bez korzystania z rozszerzeń innych firm, takich jak "flash" lub "silverlight", nie jest możliwe, jeśli przeglądarka nie obsługuje 'FileReader', wtedy należy go przesłać. –
można utworzyć zastępczy dla starszych przeglądarek, tworząc rozwiązanie serwerowe. Po wybraniu obrazu jest on wysyłany do serwera przez wywołanie ajax, przetwarzany, zwracany i wyświetlany jako miniatura – lukaleli