为什么 image1.fileSize = -1

AlexMing 2010-01-07 12:04:06
我的image1.fileSize 为什么是-1 路径跟我选的路径完全正确了;

代码
<script type="text/javascript">
function CheckForTestFile(path)
{
var image1 = new Image();
image1.dynsrc = path;
alert(image1.dynsrc); //这里路径显示真确
alert(image1.fileSize); //但是这里老是-1 为什么??
if(image1.fileSize > 1024)
{
alert(image1.fileSize+" Bytes文件过大");
}
else
{

alert(image1.fileSize+'可以上传');
}
}
</script>


<input id="file" type="file" />
<input id="Button1" type="button" value="button" onclick="CheckForTestFile(document.getElementById('file').value);" />
...全文
145 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2010-01-07
  • 打赏
  • 举报
回复
获取时候可能img还没加载完毕
wxg22526451 2010-01-07
  • 打赏
  • 举报
回复
<script type="text/javascript"> 
function CheckForTestFile(path)
{
var image1 = new Image();
image1.src= path; //改成src
alert(image1.src); //这里路径显示真确
alert(image1.fileSize); //但是这里老是-1 为什么??
if(image1.fileSize > 1024)
{
alert(image1.fileSize+" Bytes文件过大");
}
else
{

alert(image1.fileSize+'可以上传');
}
}
</script>


<input id="file" type="file" />
<input id="Button1" type="button" value="button" onclick="CheckForTestFile(document.getElementById('file').value);" />
wxg22526451 2010-01-07
  • 打赏
  • 举报
回复
fileSize属性的前提是先加载到浏览器页面上,而不是浏览器缓存中!!!
<html> 

<head>
<title>Test </title>
<SCRIPT>
var imgs=new Image();
imgs.src="44.jpg";
setTimeout("img1.src=imgs.src;",100);
</SCRIPT>

<BODY ONCLICK='alert(imgs.fileSize + "字节")'>
<img id=img1 width=300 height=250>
</BODY>
</html>
AlexMing 2010-01-07
  • 打赏
  • 举报
回复
怎么判断是否加载完毕呢?

62,254

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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