js控制上传图片前预览,
项目中当我上传的图片稍微大点就无法实现预览,就无法获取图片的尺寸,大小,
如果单独把html页面复制出来打开,就可以读取图片的属性,
html写在项目里就无法获取图片的尺寸,大小等属性了,
请教各位这是啥问题?
代码如下:
<html>
<body>
<img src="" id="idImg" style="width:380px;height:278px;"/>
<span id="spanImg">
<input id="idFile" name="imageinput" type="file" onchange="checkIamge(this.value);"/>
</span>(图片新闻请上传主题图片)</td>
</body>
<script>var img=null;function checkIamge(url)
{
var logo=url;
var logo_url=url.toLowerCase();
var logo_ext=logo_url.substring(logo_url.length-3,logo_url.length);
img = new Image();
img.src = url;
alert(img.width);
if (logo_ext!="jpg" && logo_ext!="gif" && logo_ext!="jpeg" && logo_ext!="png" && logo_ext!="gif" && logo_ext!="JPG" && logo_ext!="JPEG" && logo_ext!="GIF" && logo_ext!="PNG" && logo_ext!="bmp" && logo_ext!="BMP")
{
alert("请选择JPG,GIF,PNG,JPEG,BMP格式的文件!");
$("#idFile").remove();
$("#spanImg").append('<input id="idFile" name="imageinput" type="file" onchange="checkIamge(this.value)"/>');
}
else if(img.width>350||img.height>250)
{
alert("主题图片最大尺寸:宽度不超过350像素,高度不超过250像素!");
$("#idFile").remove();
$("#spanImg").append('<input id="idFile" name="imageinput" type="file" onchange="checkIamge(this.value)"/>');
}
else if(img.fileSize > 4 * 1024 * 1024)
{
alert("主题图片超过4M!");
$("#idFile").remove();
$("#spanImg").append('<input id="idFile" name="imageinput" type="file" onchange="checkIamge(this.value)"/>');
}
else
{
document.getElementById('idImg').src=document.getElementById('idFile').value;
var Img=new Image();
Img.src = url;
Img.onload=new Function("document.getElementById('idImg').src=document.getElementById('idFile').value;");
Img.src=url;
}
}
</script>
</html>
项目中当我上传的图片稍微大点就无法实现预览,就无法获取图片的尺寸,大小,
如果单独把html页面复制出来打开,就可以读取图片的属性,
html写在项目里就无法获取图片的尺寸,大小等属性了,
请教各位这是啥问题?
代码如下:
<html>
<body>
<img src="" id="idImg" style="width:380px;height:278px;"/>
<span id="spanImg">
<input id="idFile" name="imageinput" type="file" onchange="checkIamge(this.value);"/>
</span>(图片新闻请上传主题图片)</td>
</body>
<script>var img=null;function checkIamge(url)
{
var logo=url;
var logo_url=url.toLowerCase();
var logo_ext=logo_url.substring(logo_url.length-3,logo_url.length);
img = new Image();
img.src = url;
alert(img.width);
if (logo_ext!="jpg" && logo_ext!="gif" && logo_ext!="jpeg" && logo_ext!="png" && logo_ext!="gif" && logo_ext!="JPG" && logo_ext!="JPEG" && logo_ext!="GIF" && logo_ext!="PNG" && logo_ext!="bmp" && logo_ext!="BMP")
{
alert("请选择JPG,GIF,PNG,JPEG,BMP格式的文件!");
$("#idFile").remove();
$("#spanImg").append('<input id="idFile" name="imageinput" type="file" onchange="checkIamge(this.value)"/>');
}
else if(img.width>350||img.height>250)
{
alert("主题图片最大尺寸:宽度不超过350像素,高度不超过250像素!");
$("#idFile").remove();
$("#spanImg").append('<input id="idFile" name="imageinput" type="file" onchange="checkIamge(this.value)"/>');
}
else if(img.fileSize > 4 * 1024 * 1024)
{
alert("主题图片超过4M!");
$("#idFile").remove();
$("#spanImg").append('<input id="idFile" name="imageinput" type="file" onchange="checkIamge(this.value)"/>');
}
else
{
document.getElementById('idImg').src=document.getElementById('idFile').value;
var Img=new Image();
Img.src = url;
Img.onload=new Function("document.getElementById('idImg').src=document.getElementById('idFile').value;");
Img.src=url;
}
}
</script>
</html>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货