`
kokobox
  • 浏览: 17900 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

关于javascript判断文件大小-----闲聊

阅读更多
  





   对于web开发人员来说文件上传文件是经常遇到的,判断文件大小也是不可缺少,在这里主要介绍一下javascript判断文件大小的几种常见的方法。

   第一种是应用ActiveX控件的实现,例如:
<script type="text/javascript">
function getFileSize(filePath)
{
   var fso = new ActiveXObject("Scripting.FileSystemObject");
   alert("文件大小为:"+fso.GetFile(filePath).size);
}
</script>
<body>
<INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this.value);">
</body>


这种方法可以实现,也容易被开发人员想到,但是唯一不足之处是有安全提示,当然把文件名改为.hta则会屏蔽掉安全提示,但很难被需求所取。不推荐,也不多说

   下面主要谈谈另一种方式,在html标签中有一个不为一般开发人员“深”知的img标签,先来说下他有的属性:src,dynsrc,start,alt,controls,loop,loopdelay,hspace,vspace....还有一些常用的属性就不列出来了,在这里我们说一下"dynsrc"这个属性:dynsrc可以用来插入各种多媒体,格式可以是Wav、Avi、AIFF、AU、MP3、Ra、Ram等等。url为音频或视频文件及其路径,可以是相对路径或绝对路径。

    示例:<img dynsrc="xxxx.mp3">

    这样我们就可以根据dynsrc动态赋值任何类型文件的路径,在javascript中根据Image对象本身的fileSize属性来得到文件的大小。当然Image对象还有其他的几个属性,例如:fileCreatedDate、fileModifiedDate、fileSize、fileUpdatedDate、filters... , 代码如下:

<script type="text/javascript">
function getFileSize(filePath)
{
   var image=new Image();
   image.dynsrc=filePath;
   alert(image.fileSize);
}
</script>
<body>
<INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this.value)">
</body>


经测试,得到文件大小,并未出现安全提示,推荐,没的说















9
9
分享到:
评论
23 楼 wenjianping007 2012-10-11  
IE8 也不行 同IE7的错误
22 楼 zoutuo 2009-10-30  
IE7.0,出现错误:无法设置dynscr属性,拒绝访问
21 楼 loocao 2009-05-12  
问题多多啊...
20 楼 accphc 2008-09-23  
IE7.0,出现错误:无法设置dynscr属性,拒绝访问
IE6.0,通过。。。
火狐,出新undifine
最新的浏览器,谷歌,通火狐。
现在在怀疑,google是不是搞定火狐的,那么相似,
这个属性适用范围太小了!那在上传文件之前判断文件大小怎么办?
19 楼 kokobox 2008-08-14  
这个我找个时间测试一下,因为我们的程序都在用这个,只是后台有也判断,前面用try或其他操作屏蔽了异常,也是为了增加一些IE用户的提交和校验数据的速度

由于我们都是配机给客户,可能是大部分用户用的都是IE6,即使用了火狐由于屏蔽了js异常转为后台校验,所以没有这个Bug报告上来

18 楼 dddccc_123 2008-08-14  
顺便说下。。我把dynsrc换成大写DYNSRC,IE7下可以运行,可是每次size都为-1
17 楼 kokobox 2008-08-14  
IE7 没试过,我这里没有IE7

等有机会了试一试
16 楼 dddccc_123 2008-08-14  
IE7 试过了没
15 楼 kokobox 2008-08-14  
遨游---->傲游
14 楼 kokobox 2008-08-14  
遨游可以啊,你的怎么不可以?

难度是遨游版本的问题?????

你的代码和我写的一样吗?
13 楼 kokobox 2008-08-14  
我去试一试遨游看看
12 楼 kokobox 2008-08-14  
又来一个,csdn都搬到这里来了

只针对IE,这只是在前台过滤,后台当然你还要再判断一次的啦

11 楼 yirentianran 2008-08-14  
傲游不行啊 返回-1
10 楼 kokobox 2008-08-13  
竹子也来了,csdn的版主都来这里玩了

也不知道csdn什么时候可以登陆。。。。。

我也从来没写过技术博客,没想到这么多人能来看

感觉这里的帖子有点像文章,感觉这里的博客有点像论坛,呵呵,还有点不太习惯

可能习惯csdn了
9 楼 java2000_net 2008-08-13  
纯IE,返回了文件从长度
8 楼 java2000_net 2008-08-13  
IE6 傲游 测试失败,为-1
ff 下直接为undefine
7 楼 kokobox 2008-08-13  
应该不会吧,如果要是 new Image(); dynsrc是不会出现拒绝访问的,如果是对标签<img >动态处理的话,在服务器下会报告dynsrc拒绝访问。。

由于我没有IE7 不好测试

等下班了,我找个机会看看,ff下不行我早已测试过,只是在文章里没有写。


6 楼 dddccc_123 2008-08-13  
我又换了IE6试了。。是可以的
5 楼 dddccc_123 2008-08-13  
错误是 无法设置synsrc属性。拒绝访问
4 楼 dddccc_123 2008-08-13  
IE7 貌似把dynsrc这个属性的写去掉了,只能读了

相关推荐

    JavaScript网上答疑系统-前端毕业设计.zip

    JavaScript网上答疑系统-前端毕业设计JavaScript网上答疑系统-前端毕业设计JavaScript网上答疑系统-前端毕业设计JavaScript网上答疑系统-前端毕业设计JavaScript网上答疑系统-前端毕业设计JavaScript网上答疑系统-...

    PHP, MySQL & JavaScript All-in-One For Dummies epub

    PHP, MySQL & JavaScript All-in-One For Dummies 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 查看此书详细信息请在美国亚马逊官网搜索此书

    javascript 特效大全----网页程序员的救

    javascript 特效大全----网页程序员的救星 javascript 特效大全----网页程序员的救星 javascript 特效大全----网页程序员的救星 javascript 特效大全----网页程序员的救星 javascript 特效大全----网页程序员的救星

    struts2上传文件,JavaScript判断文件大小

    在前端,JavaScript可以用来做初步的文件大小验证,避免用户上传过大的文件导致服务器端处理压力过大或者服务器资源浪费。 在JavaScript中,我们可以使用`HTML5`的File API来获取文件的信息,例如文件名、类型和...

    photoshop-cc-javascript-ref-2015.pdf

    在“photoshop-cc-javascript-ref-2015.pdf”中,你将找到详细的API参考,每个函数和对象的说明,以及示例代码,帮助你理解和掌握如何在实际项目中运用JavaScript。同时,该文档通常会包含错误处理和最佳实践的建议...

    Algorithm-javascript-datastructures-algorithms.zip

    Algorithm-javascript-datastructures-algorithms.zip,用于教育目的的javascript和typescript数据结构和算法的集合。javascript算法和数据结构手册的源代码包,算法是为计算机程序高效、彻底地完成任务而创建的一组...

    javascript经典特效---扫雷程序.rar

    javascript经典特效---扫雷程序.rar javascript经典特效---扫雷程序.rar javascript经典特效---扫雷程序.rar

    javascript经典特效---文本判断效果.rar

    在这个名为“javascript经典特效---文本判断效果.rar”的压缩包中,我们关注的是一个特定的JavaScript特效:文本判断效果。这个效果通常用于检测用户输入的文本,比如验证表单、实现智能提示或者进行关键词匹配等。 ...

    javascript经典特效---排列游戏.rar

    例如,可能有数组存储了初始元素的位置,用户每次操作后,JavaScript会根据用户的选择调整元素位置,判断是否完成排列,同时更新界面展示。 总的来说,"javascript经典特效---排列游戏"是一个利用JavaScript编程...

    photoshop-cc-javascript-ref-2019.pdf

    3. **事件驱动编程**:JavaScript支持事件驱动编程模型,可以在Photoshop中响应用户操作或特定事件,如打开文件、保存文件、关闭文档等,实现动态响应的脚本。 4. **脚本对象模型(Scripting Object Model)**:...

    javascript经典特效---多图片飞舞链接.rar

    HTML文件可能包含了图片的源(src)和链接的目标地址(href),而JavaScript部分则负责处理图片的动画效果,如改变位置、大小、旋转等,以模拟“飞舞”的视觉效果。 在这个特效中,JavaScript可能会使用定时器...

    javascript经典特效---左上角的菜单.rar

    总的来说,这个“javascript经典特效---左上角的菜单.rar”项目是一个使用JavaScript编程语言实现的网页菜单特效,它位于页面的左上角,可能包含了一个HTML文件,用于定义菜单的布局和初始状态,而JavaScript代码则...

    JavaScript面向对象编程--继承.mht

    JavaScript面向对象编程--继承.mht,JavaScript面向对象编程--继承.mht,JavaScript面向对象编程--继承.mht,JavaScript面向对象编程--继承.mht

    javascript实例应用---系统检测类.rar

    javascript实例应用---系统检测类.rarjavascript实例应用---系统检测类.rarjavascript实例应用---系统检测类.rarjavascript实例应用---系统检测类.rar

    javascript实例应用---连接数据库实例.rar

    javascript实例应用---连接数据库实例.rarjavascript实例应用---连接数据库实例.rarjavascript实例应用---连接数据库实例.rarjavascript实例应用---连接数据库实例.rar

    javascript经典特效---每日一语.rar

    javascript经典特效---每日一语.rarjavascript经典特效---每日一语.rarjavascript经典特效---每日一语.rarjavascript经典特效---每日一语.rarjavascript经典特效---每日一语.rar

    javascript实例应用---图片特效类.rar

    javascript实例应用---图片特效类.rarjavascript实例应用---图片特效类.rarjavascript实例应用---图片特效类.rarjavascript实例应用---图片特效类.rar

    javascript实例应用---菜单特效类.rar

    javascript实例应用---菜单特效类.rarjavascript实例应用---菜单特效类.rarjavascript实例应用---菜单特效类.rarjavascript实例应用---菜单特效类.rar

    javascript实例应用---按钮特效类.rar

    javascript实例应用---按钮特效类.rarjavascript实例应用---按钮特效类.rarjavascript实例应用---按钮特效类.rarjavascript实例应用---按钮特效类.rar

    基于JavaScript的d2w-fill填报系统设计源码

    本项目为基于JavaScript的d2w-fill手动填报系统设计源码,涵盖743个文件,其中SVG文件697个,Java源文件19个,CSS样式文件4个,JavaScript脚本文件4个,PNG图片文件3个,JSON数据文件3个,XML配置文件2个,Git忽略...

Global site tag (gtag.js) - Google Analytics