首页 > 其他分享 >(转)JS判断文件大小

(转)JS判断文件大小

时间:2023-07-21 19:37:27浏览次数:27  
标签:文件大小 判断 filePath image JS dynsrc fileSize new Image


第一种是应用ActiveX控件的实现,例如:

Javascript代码

<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" οnchange="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... , 代码如下:

Javascript代码

<script type="text/javascript">    
function getFileSize(filePath)    
{    
   var image=new Image();    
   image.dynsrc=filePath;    
   alert(image.fileSize);    
}    
</script>    html代码
<body>    
<INPUT TYPE="file" NAME="file" SIZE="30" οnchange="getFileSize(this.value)">    
</body>  
<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" οnchange="getFileSize(this.value)">
</body>

 

<html>
<head>
	<script type="text/javascript">    
	function getFileSize(filePath)    
	{    
	   var image=new Image();    
	   image.dynsrc=filePath;    
	   alert(image.fileSize);    
	}    
	</script>    
</head>

<body>    
<INPUT TYPE="file" NAME="file" SIZE="30" οnchange="getFileSize(this.value)">    
</body>  
</html>

 

 


标签:文件大小,判断,filePath,image,JS,dynsrc,fileSize,new,Image
From: https://blog.51cto.com/u_16200746/6805100

相关文章

  • 项目开发难点-要求el-radio组件实现点击切换的时候,先弹出框判断是否符合条件,如果符合r
    需求描述:页面radio点击的时候,先不改变radio的值,先弹出框进行判断是否符合一定的条件如果符合则发生变化,否则radio不发生变化,页面还显示原来的值。问题难点:在vue项目中,使用<el-radiov-model="radio"label="1">备选项1</el-radio><el-radiov-model="radio"label="2"......
  • How to pass new hidden value to backing bean in JSF(JSF 隐藏域传值到后台)
    JSF隐藏域传值到后台 Insomecases,youmayneedtopassanewhiddenvaluetoabackingbean.Generally,therearetwoways:1.HTMLTag+getRequestParameterMap()RenderhiddenfieldwithplainHTMLinput,hard-codednewhiddenvalueandaccessinbackingbe......
  • jsp 超链接带系统前缀
    如: <a href="www.iteye.com">iteye</a> 网页生成后点击此超链接,始终有如http://localhost:8080的前缀,变成http://localhost:8080/www.iteye.com  解决:加上http://前缀   <a href="http://www.iteye.com">iteye</a> ......
  • struts2标签判断字符串
    11:<s:propertyvalue='#attr.jxwReadyOnly'/>22:<s:propertyvalue='#attr.jxwReadyOnly=="jxwReadyOnly"'/>33:<s:propertyvalue='#session.get("jxwReadyOnly")=="jxwReadyOnly"'/>44:......
  • NextJs 中使用Next-Auth
    NextJs中使用Next-Auth本篇讨论的范畴是Azureb2c做为provider,token的类型是jwttoken.我们讨论在Azureb2c认证完后,由Next-Auth负责认证的过程。BasicConceptToken这个就是cookie,它的名字是非https是next-auth.session-token,如果是https则是__Secure-next-auth.sessio......
  • linux 判断主机存活性脚本 python
    Linux主机存活性脚本Python实现在Linux系统中,我们经常需要判断主机的存活性,即确定某个IP地址是否能够正常访问。这对于网络管理员来说是一个非常重要的任务,因为它们可以定期监控主机的可用性,及时发现并解决网络故障。在本文中,我们将介绍如何使用Python编写一个简单的脚本来判断主......
  • 直播带货源码,JS实现轮播图点击切换、按钮切换功能
    直播带货源码,JS实现轮播图点击切换、按钮切换功能html代码: <div>    <pid="pa"></p>    <imgsrc="1.jpg"alt="">    <buttonid="lt"><</button>    <buttonid="gt">>&l......
  • 判断点与多边形的关系(4):射线法
    https://blog.csdn.net/ezhchai/article/details/78867367终极大招来了,射线法是解决这一问题的最优方法,其他方法仅具有理论意义,如果工程应用的话,知道这个方法就够了。射线法的思想是:以目标点为端点引一条射线,计算这条射线和多边形所有边的交点数目。如果交点个数为奇数,则点在多边......
  • Vue3 响应式全局对象json 动态绑定界面三 (Div块样式 字符串叠加)
    效果 man.js  定义响应式全局对象 globalData//全局对象constglobalData=reactive({missedCallData:"",currentUserTel:"",})app.provide('globalData',globalData);在main.js的函数中改变missedCallData 的值从而改变界面列表//改变全局变量gl......
  • Vue3 响应式全局对象json 动态绑定界面四 (Div块样式 Json数据绑定)
    效果man.js  定义响应式全局对象 globalData//全局对象constglobalData=reactive({extTelTalkData:[{userExten:"1000",userName:"刘亦菲",callStatus:"通话"},{......