JS得到图片的尺寸
页面上我定义了标签,用来上传图片
<s:file name="aa" id="aa" ContentEditable="false" size="45"></s:file>
提交时我要得到上传图片的大小和尺寸,我用下面的JS来做:
function checkImage(file){
var fso,f;
fso=new ActiveXObject("Scripting.FileSystemObject");
f=fso.GetFile(file);
var fileSize = f.size ;
if((fileSize/1024) > 2){
alert("上传图片文件不能大于2K");
return false;
}
var imgSize={
width:0,
height:0
};
image=new Image();
image.src=file;
imgSize.width =image .width;
imgSize .height=image .height;
alert( imgSize.width);
return true;
}
但这样我始终得不到图片的尺寸大小,一直提示0
------解决方案--------------------
Java code
var flag=false;
function sImage(ImgS){
var image=new Image();
image.src=ImgS.src;
if(image.width>0 && image.height>0){
flag=true;
if(image.width/image.height>= 173/173){
if(image.width>173){
ImgS.width=173;
ImgS.height=(image.height*173)/image.width;
}else{
ImgS.width=image.width;
ImgS.height=image.height;
}
//ImgS.alt="实际图片大小为"+image.width+"×"+image.height;
}
else{
if(image.height>173){
ImgS.height=173;
ImgS.width=(image.width*173)/image.height;
}else{
ImgS.width=image.width;
ImgS.height=image.height;
}
//ImgS.alt=image.width+"×"+image.height;
}
}
}
------解决方案--------------------
HTML code
<input type="file" id="fileText">
<input type="button" value="getSize" onclick="checkFileChange(document.getElementById('fileText'));">
<script type="text/javascript">
var Sys = {};
if(navigator.userAgent.indexOf("MSIE")>0)
{
Sys.ie=true;
}
if(isFirefox=navigator.userAgent.indexOf("Firefox")>0)
{
Sys.firefox=true;
}
function checkFileChange(obj)
{
var filesize = 0;
if(Sys.firefox)
{
filesize = obj.files[0].fileSize;
}else if(Sys.ie)
{
var fileobject = new ActiveXObject ("Scripting.FileSystemObject");
var file = fileobject.GetFile (document.getElementById("fileText").value);
var filesize = file.Size;
}
alert(filesize);
}
</script>