У меня есть плагин для загрузки файлов (jQuery Fine Upload). С помощью этого плагина я загружаю изображения через AJAX и из ответа (JSON) генерирую изображения для предварительного просмотра. Это отлично работает в основных браузерах, за исключением всех версий Internet Explorer, потому что эта ш... хочет открыть ответ JSON с расширением .js. Событие запускается, когда ввод файла изменится. См. код ниже:
initFileuploader: function() {
$('#imageUploadWrapper').fineUploader({
request: {
uuidName: 'uploadId',
inputName: 'upload',
endpoint: '/admin/model/media/image/upload',
params: {
format: 'json'
}
},
// debug: true, // ##### !!!!! #####
autoUpload: true,
responseJSON: true,
deleteFile: {
enabled: true,
forceConfirm: true
}
}).on('complete', function(event, id, name, response) {
var elem = $('.qq-upload-list li')[id];
$(elem).prepend('<div class="previewContainer"></div>').addClass('cf');
$(elem)
.children('.previewContainer')
.append($('<img src="/admin/model/media/image/view/tmp/'+response.result[0].name+'" class="previewItem"/>'));
});
}
И это ответ JSON:
{
"success": true,
"version": "1.0",
"code": 200,
"result": [{
"name": "08390ab5-0c1d-4801-bef9-7bfd5d446776.jpg",
"type": "image\/pjpeg",
"error": 0,
"size": 845941
}],
"error": ""
}