У меня очень странная проблема со средством чтения файлов HTML 5.Я загружаю изображение и добавляю его к указанному.Как ни странно, иногда изображение имеет неправильный размер или не отображается вообще, но когда я снова загружаю то же изображение, оно прекрасно работает.Firebug говорит мне, что изображение загружается правильно в любом случае.
Вот как я это делаю:
function getImg(evt, id) {
var files = evt.target.files;
var file = files[0]
var filename = file.name;
previewimg = filename;
var reader = new FileReader();
reader.onload = function(e) {
//to empty the div every time a new image is loaded
$(id).empty();
readImgData(e, id, filename);
}
reader.readAsDataURL(file);
}
function readImgData(e, id, filename) {
var img = new Image();
img.name = filename;
var split = filename.split('.');
img.id = split[0]
img.src = e.target.result;
$(id).append(img);
var jimg = $("#" + img.id);
var width = jimg.width();
var height = jimg.height();
console.log('width: ' + width + " height: " + height);
if(id == '#showpreview') {
jimg.attr({
'id' : img.id + 'prev'
});
console.log(id)
if(width > 400) {
var divider = width / 400;
var newheight = height / divider;
jimg.css({
'width' : 400,
'height' : newheight
});
}
}
}