js 怎么判断图片的真实格式

JavaScript012

js 怎么判断图片的真实格式,第1张

function check(){var aa=document.form1.userfile.value.toLowerCase().split('.')//以“.”分隔上传文件字符串alert(aa)if(document.form1.userfile.value==""){alert('图片不能为空!')

return true}else{if(aa[aa.length-1]=='gif'||aa[aa.length-1]=='jpg'||aa[aa.length-1]=='bmp')//判断图片格式{alert('图片格式正确!')

return true}else{alert('对不起,你选择的图片格式不对\n图片格式应为*.jpg、*.gif、*.bmp')

直接上代码:

var img = "imgurl"//imgurl 就是你的图片路径

function getBase64Image(img) {

var canvas = document.createElement("canvas")

canvas.width = img.width

canvas.height = img.height

var ctx = canvas.getContext("2d")

ctx.drawImage(img, 0, 0, img.width, img.height)

var ext = img.src.substring(img.src.lastIndexOf(".")+1).toLowerCase()

var dataURL = canvas.toDataURL("image/"+ext)

return dataURL

}

var image = new Image()

image.src = img

image.onload = function(){

var base64 = getBase64Image(image)

console.log(base64)

}

项目的需求是上传一张图片,然后验证该图片的尺寸,如果跟预期的不符,就不给上传

首先,可以通过new FileReader(),再通过将上传的图片文件传给实例的readAsDataUrl(),当文件加载完成触发onload事件,传递event,通过event.target.result来获取图片的链接(base64格式的)

接着,new Image()实例,将上面获取的链接设置为图片的src属性,当图片加载完成触发onload事件就可以通过width、height属性来读取图片的长宽啦~~