js验证上传图片大小,img.src 赋值有关问题
js验证上传图片大小,img.src 赋值问题
用 <input type = "file" />上传图片前,需要验证图片大小,在网上搜的大多是获取上传文件路径,赋值给img.src ,再通过img对象有的属性fileSize比较大小,可是问题是img.src 不可能通过本地文件的路径显示出img,也就是img对象获取不到,哪儿获取到img的fileSize呢?
代码大致如下:
function CheckFileSize(sAction){
var obj = $("imgProduct");
if(obj.value != ""){
var val = obj.value;
img.src = obj.value;
var img = new Image();
img.onreadystatechange = function(){
if(img.readyState == "complete"){
if(img.fileSize <=0 || img.fileSize > imgSize){
alert("当前文件大小" + img.fileSize / 1024 + "KB, 超出最大限制 " + imgSize / 1024 + "KB");
}else{
submit1(sAction, true);
}
}
}
}else{
submit1(sAction, true);
}
}
奇怪的是网上大多都是这个思路,哪位大虾给指点一下,这种方式到底可行不可行,如果不可行,有什么好的方法判断文件大小呢?
------解决思路----------------------
建议使用html5的特性fileInput.get(0).files[0].size; 或者flash实现
http://www.html5rocks.com/en/tutorials/file/dndfiles/
------解决思路----------------------
uploadify用的flash会导致cookie丢失,从而获取不到session,需要给uploadify增加session会话id,服务器端通过这个id重新设置下session才能正确获取
就算用uploadify这种能限制客户端文件大小选择的插件,你的服务器端还是得重新验证过一遍的。。所有最保险就是在服务器端进行验证
用 <input type = "file" />上传图片前,需要验证图片大小,在网上搜的大多是获取上传文件路径,赋值给img.src ,再通过img对象有的属性fileSize比较大小,可是问题是img.src 不可能通过本地文件的路径显示出img,也就是img对象获取不到,哪儿获取到img的fileSize呢?
代码大致如下:
function CheckFileSize(sAction){
var obj = $("imgProduct");
if(obj.value != ""){
var val = obj.value;
img.src = obj.value;
var img = new Image();
img.onreadystatechange = function(){
if(img.readyState == "complete"){
if(img.fileSize <=0 || img.fileSize > imgSize){
alert("当前文件大小" + img.fileSize / 1024 + "KB, 超出最大限制 " + imgSize / 1024 + "KB");
}else{
submit1(sAction, true);
}
}
}
}else{
submit1(sAction, true);
}
}
奇怪的是网上大多都是这个思路,哪位大虾给指点一下,这种方式到底可行不可行,如果不可行,有什么好的方法判断文件大小呢?
------解决思路----------------------
建议使用html5的特性fileInput.get(0).files[0].size; 或者flash实现
http://www.html5rocks.com/en/tutorials/file/dndfiles/
------解决思路----------------------
uploadify用的flash会导致cookie丢失,从而获取不到session,需要给uploadify增加session会话id,服务器端通过这个id重新设置下session才能正确获取
就算用uploadify这种能限制客户端文件大小选择的插件,你的服务器端还是得重新验证过一遍的。。所有最保险就是在服务器端进行验证