上传图片问题 当天结帖!速度

happy664618843 2010-02-27 12:51:04

function HasFile(){
var file1=document.getElementById("File1").value;
var fileEx=file1.substring(file1.lastIndexOf(".")+1,file1.length).toLowerCase();
if(fileEx!="jpg" && fileEx!="gif"&&fileEx!="rar"&&fileEx!="zip")
{
alert('上传文格式不正确,只能上传jpg|gif|rar|zip文件!');
return false;
}
if(fileEx.toLowerCase()=="jpg"||fileEx=="gif"||fileEx=="bmp")
{
img=new Image();
img.src=file1;
var imgSize=1024*500;
img.onreadystatechange = function(){
if(img.readyState == "complete"){
if(img.fileSize <=0 || img.fileSize > imgSize){
alert("当前文件大小" + img.fileSize / 1024 + "KB, 超出最大限制 " + imgSize / 1024 + "KB");
return false;
}
else{
alert("OK");

}
}
}

}
else
{
return true;
}

alert(img.offsetHeight);
alert(img.readyState);
}

为什么弹出总是0 和未初始化?各位高手有什么解决办法吗? 有没有其它方法可以判断图片大小和高度?
...全文
309 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
luojxun 2010-02-28
  • 打赏
  • 举报
回复
楼上的方法不错,果然能兼容firefox
happy664618843 2010-02-27
  • 打赏
  • 举报
回复
var img=null加上 复制掉了
cloudgamer 2010-02-27
  • 打赏
  • 举报
回复
ls对的
而且ie7也不能直接预览的
这里有一个支持ie ff的图片预览
可以参考一下
luojxun 2010-02-27
  • 打赏
  • 举报
回复
js是不能获得本地文件相关信息的,ie6可能可以但ie7、ie8、firefox是不能的。如果打算兼容的话这功能是无法实现的。
cloudgamer 2010-02-27
  • 打赏
  • 举报
回复
if(fileEx.toLowerCase()=="jpg"||fileEx=="gif"||fileEx=="bmp")
{
img=new Image();
img.onload=function(){
alert(img.offsetHeight);
alert(img.readyState);
}
var imgSize=1024*500;
img.onreadystatechange = function(){
。。。。。
}
img.src=file1;
}
else
{
return true;
}

zoutuo 2010-02-27
  • 打赏
  • 举报
回复
IE7以后就不能用JS获取图片文件的大小了。有时候在HTML里可以,但是放在JSP中却无法获取大小。
建议楼主采用flex技术来解决,或者在后台判断文件大小也是可以的。总之这种判断在JS里是不行的,你看到哪个网站判断图片或者文件大小是通过JS的?
cloudgamer 2010-02-27
  • 打赏
  • 举报
回复
应该在onload里面获取吧
mmcgzs 2010-02-27
  • 打赏
  • 举报
回复
js默认浏览器安全状态下,无法获得img的大小

87,955

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧