
思路是img标签中的dynsrc属性。
在FireFox、Chrome浏览器中可以根据documentgetElementById(“id_file”)files[0]size 获取上传文件的大小(字节数),而IE浏览器中不支持该属性,只能借助<img>标签的dynsrc属性,来间接实现获取文件的大小(但需要同意ActiveX控件的运行,但是不会引起上面的不友好、不安全的提示)。
参考如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Strict//EN""><div><input type="file" name="f" id="f" />
<input type="button" name="aa" id="aa" value="测试" onclick="javascript: _s();" />
</div>
<script>
function _s() {
var f = documentgetElementById("f")files;
alert(f[0]size); //大小 字节
}
</script>
你是怎么取得Image对象的宽度和高度的?用的imagestylewidth和imagestyleheight
这两个只能获得显示在元素style属性中设置的css样式。
用image对象是没错的,
var image = new Image();
imagesrc = 你的路径;
documentbodyappendChild(image);
imageonload = function(){
consolelog(imageoffsetWidth);
imagestyledisplay = 'none';
}
这样可以获得的高度。记住一定得把加到页面上去,你可以取得高度之后马上隐藏他。
base64简单地说,它把一些 8-bit 数据翻译成标准 ASCII 字符,我们把图像文件的内容直接写在了HTML 文件中,这样做的好处是,节省了一个>
给img添加加载事件,图像加载完成才能获取的尺寸。
html中添加onload
function showSize(img){
alert(imgwidth);
alert(imgheight);
}
<div style="width:100px;height:600px"><img src="1jpg" onload="showSize(this)"></div>
或者js代码中添加onload
let img=documentquerySelector("div img");
imgonload = function() {
alert(imgheight);
alert(imgwidth);
}
以上就是关于完美解决js校验文件大小全部的内容,包括:完美解决js校验文件大小、js中定义的var img=new image()如何获取img的如图中的属性值呢、js获取上传图片的尺寸等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)