отображение изображения, выбранного для загрузки в Chrome и Mozilla - PullRequest
0 голосов
/ 28 февраля 2012

В одном из моих веб-приложений мне нужно показать изображение, которое было выбрано для загрузки перед его загрузкой на сервер, с использованием javascript.

У меня был этот код ... Он работает довольно хорошо вМозиллаНо не в Safari или Chrome .. Пожалуйста, помогите

// Handle file while select a new file
$('#file').change(function(){
        $('#img_size').val((this.files[0].size)/1000000);
                   handleFiles(this.files);
});


// handle files

function handleFiles(files) {





   for (var i = 0; i < files.length; i++) {
    var file = files[i];

    var imageType = /image.*/;

    if (!file.type.match(imageType)) {
        continue;
    }


     var img=document.getElementById('fake_img');
     img.src = file;
     img.onload = function() {



    };



    var reader = new FileReader();
    reader.onload = (function(aImg) {
        return function(e) {
            aImg.src = e.target.result;
        };
    })(img);
    reader.readAsDataURL(file);
}

}

1 Ответ

2 голосов
/ 28 февраля 2012

Этот код работает нормально в Chrome

http://jsfiddle.net/PrNWY/13/

Показывает выбранное изображение в Chrome & FF.

обновление

Вы можете проверить возможность чтения файла с помощью следующего кода

// Check for the various File API support.
if (window.File && window.FileReader && window.FileList && window.Blob) {
    // Great success! All the File APIs are supported.
    alert('The File APIs are fully supported in this browser.');
 } else {
    alert('The File APIs are not fully supported in this browser.');
 }

В моем сафари это не удалось, поскольку он не поддерживает файловый APIполностью.

...