首先,可以通过new FileReader(),再通过将上传的图片文件传给实例的readAsDataUrl(),当文件加载完成触发onload事件,传递event,通过event.target.result来获取图片的链接(base64格式的)
接着,new Image()实例,将上面获取的链接设置为图片的src属性,当图片加载完成触发onload事件就可以通过width、height属性来读取图片的长宽啦~~
<input id="file_Up" name="file_Up" type="file" onchange="getFileSize(this.value)"/><input id="sub_Import" type="submit" value="导入" />
js中function getFileSize() {
var btnsave = document.getElementById("sub_Import")
btnsave.disabled = true
var filepath = ""
var fileupload = document.getElementById("file_Up")
if (fileupload.value.length < 5) {
alert('请选择文件!')
return
}
var agent = window.navigator.userAgent
if (agent.indexOf("Firefox") >= 1) {
var maxsize = 4 * 1024 * 1024
var size = fileupload.files[0].size
if (size > parseInt(maxsize)) {
alert("文件超过大小!")
return false
}
else {
btnsave.disabled = false
return true
}
}
else {
fileupload.select()
fileupload.blur()
filepath = document.selection.createRange().text
try {
var fso, f, fname, fsize
var flength = 4 * 1024 //设置上传的文件最大值(单位:kb),超过此值则不上传。
fso = new ActiveXObject("Scripting.FileSystemObject")
f = fso.GetFile(filepath) //文件的物理路径
fname = fso.GetFileName(filepath) //文件名(包括扩展名)
fsize = f.Size //文件大小(bit)
fsize = fsize / 1024
//去掉注释,可以测试
alert("文件路径:" + f)
alert("文件名:" + fname)
alert("文件大小:" + fsize + "kb")
if (fsize > flength) {
alert("上传的文件到小为:" + fsize + "kb,\n超过最大限度" + flength + "kb,不允许上传 ")
return false
}
else {
btnsave.disabled = false
return true
}
} catch (e) {
alert(e + "\n 跳出此消息框,是由于你的activex控件没有设置好,\n" +
"你可以在浏览器菜单栏上依次选择\n" +
"工具->internet选项->\"安全\"选项卡->自定义级别,\n" +
"打开\"安全设置\"对话框,把\"对没有标记为安全的\n" +
"ActiveX控件进行初始化和脚本运行\",改为\"启动\"即可")
return false
}
}
}
//获取盒子的内容高度,内容高度也可用用box.clientHeight获取,内容高度不包括边框和外边距和滚动条var box = document.getElementById("box")
var contentHeight = window.getComputedStyle(box).height //输出 '60px'
//js获取移动端屏幕高度和宽度等设备尺寸,兼容性比较好的方法
document.documentElement.clientWidth
document.documentElement.clientHeight
此外,还可以使用元素的点击事件来获取元素高度等内容。