gpt4 book ai didi

javascript filereader 未定义宽度

转载 作者:行者123 更新时间:2023-12-02 17:52:43 25 4
gpt4 key购买 nike

我有(可能)很容易解决的问题,但我自己无法解决。基本上我的reader.widthreader.height一直说未定义:/..其他一切都按预期工作

function handleFileSelect(evt, selector) {

var f = evt.target.files[0];
var reader = new FileReader();

reader.onload = (function(theFile) {
return function(e) {
var imgW = reader.width;
var imgH = reader.height;
console.debug("width: "+imgW); // undefined
console.debug("height: "+imgH); // undefined
var thumbHtml = ['<span><img class="thumb" src="', e.target.result,
'" title="', escape(theFile.name), '"/></span>'].join('');
$(selector).parent().siblings('.previewThumb').html(thumbHtml);
$(selector).parent().siblings('.previewThumb').removeClass('hidden')

};
})(f);

// Read in the image file as a data URL.
reader.readAsDataURL(f);
$(selector).siblings('.list').html('<span>'+escape(f.name)+'</span></span>');
}

我还尝试了e.widththeFile.width - 它们都返回未定义:/

我尝试用谷歌搜索,但根据我读过的所有内容 reader.width 应该可以工作

感谢帮助

干杯,汤姆

最佳答案

FileReader 本身没有 width 属性。它的结果仅包含原始图像数据。在读取宽度之前,必须将其加载为Image。因此,您需要加载处理程序 1) 以便加载文件 2) 以便加载图像。

尝试这样的事情

function handleFileSelect(evt, selector) {

var f = evt.target.files[0];
var reader = new FileReader();

reader.onload = function(e) {
// at this point we have the raw data. now we
// create an image out of it
var image = new Image();
image.src = e.target.result;

image.onload = function() {
// now we have the image.
var imgW = image.width;
var imgH = image.height;
console.debug("width: "+imgW);
console.debug("height: "+imgH);

// we can insert image directly into DOM
var thumb = $(image).addClass("thumb");
$(selector).parent().siblings('.previewThumb').empty().append(thumb);
$(selector).parent().siblings('.previewThumb').removeClass('hidden');
};
};

// Read in the image file as a data URL.
reader.readAsDataURL(f);
$(selector).siblings('.list').html('<span>'+escape(f.name)+'</span></span>');
}

关于javascript filereader 未定义宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21214210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com