<script src="js/jquery-1.2.1.pack.js" type="text/javascript"></script><form id="form1" name="form1">
<input name='pic_1' type='file' id='pic_1' onChange="FileChange(this)" />
<div id="MsgList">asdfsd</div>
</form><script type="text/javascript" language="javascript">
var ImgObj = new Image();
var FileObj, ImgFileSize, ErrMsg;
function CheckProperty(obj) //检测图像属性
{
FileObj = obj;
if (ImgObj.readyState != "complete") //如果图像是未加载完成进行循环检测
{
setTimeout("CheckProperty(" + obj + ")", 500);
return false;
}
ImgFileSize = Math.round(ImgObj.fileSize / 1024 * 100) / 100; //取得图片文件的大小
ShowMsg("图片大小:" + ImgFileSize);
}
ImgObj.onerror = function () {
ErrMsg = '\n图片格式不正确或已损坏!'
ShowMsg(ErrMsg);
return false;
}
function FileChange(obj) {
ImgObj.src = obj.value;
CheckProperty(obj);
}
function ShowMsg(msg)
{
$("#MsgList").html(msg);
}
</script>
在ie/maxthon2下可以正常获取到,可在firefox/chrome下总是提示“图片格式不正确或已损坏”,请教大家。谢谢
<input name='pic_1' type='file' id='pic_1' onChange="FileChange(this)" />
<div id="MsgList">asdfsd</div>
</form><script type="text/javascript" language="javascript">
var ImgObj = new Image();
var FileObj, ImgFileSize, ErrMsg;
function CheckProperty(obj) //检测图像属性
{
FileObj = obj;
if (ImgObj.readyState != "complete") //如果图像是未加载完成进行循环检测
{
setTimeout("CheckProperty(" + obj + ")", 500);
return false;
}
ImgFileSize = Math.round(ImgObj.fileSize / 1024 * 100) / 100; //取得图片文件的大小
ShowMsg("图片大小:" + ImgFileSize);
}
ImgObj.onerror = function () {
ErrMsg = '\n图片格式不正确或已损坏!'
ShowMsg(ErrMsg);
return false;
}
function FileChange(obj) {
ImgObj.src = obj.value;
CheckProperty(obj);
}
function ShowMsg(msg)
{
$("#MsgList").html(msg);
}
</script>
在ie/maxthon2下可以正常获取到,可在firefox/chrome下总是提示“图片格式不正确或已损坏”,请教大家。谢谢
看看这个,或许有用
“图片格式不正确或已损坏”
谢谢,看了里面的代码跟我目前用的差不多是一样,把它的代码复制到htm中在firefox下运行也无法出预览图和图片大小
虽然并不是用纯js来实现,但也感谢各位的热心回答。谢谢