js控制上传文件大小

使用 JavaScript 限制文件上传大小 在本教程中,我们将使用 JavaScript 来限制文件上传的大小。在开发允许用户上传文件的网站时,这有助于管理所需的磁盘空间量,并防止在有人上传占用了所有可用磁盘空间的文件时出现错误。这就是本教程的全部内容,使用您所学的内容,您现在应该能够使用 JavaScript 限制文件上传的大小。如果文件大小大于 2MB,我们会禁用提交按钮并提示用户选择较小的文件。否则,如果文件小于 2MB,则启用提交按钮并显示一条成功消息。如果您运行该脚本,您应该会收到一条警告消息,其中包含所选文件大小(以 MB 为单位)。 阅读详情
 <p><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script></p><p>var uploadfile = {
&nbsp;issupport : false,
&nbsp;size : 0,
&nbsp;imgwidth : 0,
&nbsp;imgheight : 0,
&nbsp;flag : false
}</p><p>String.prototype.endWith=function(str){
&nbsp;if(str==null||str==""||this.length==0||str.length>this.length)
&nbsp;&nbsp; return false;
&nbsp;if(this.substring(this.length-str.length)==str)
&nbsp;&nbsp; return true;
&nbsp;else
&nbsp;&nbsp; return false;
&nbsp;return true;
}</p><p>
function uploadfilesize(id){
&nbsp;var fobj = null;
&nbsp;if('string'==typeof(id)){
&nbsp;&nbsp;fobj = eval(id);
&nbsp;}else{
&nbsp;&nbsp;fobj = id;
&nbsp;}
&nbsp;if(fobj.files){//
&nbsp;&nbsp;uploadfile.size = fobj.files[0].fileSize;
&nbsp;&nbsp;if(fobj.files[0].fileSize==undefined){ //opera
&nbsp;&nbsp;&nbsp;uploadfile.size = fobj.files[0].size;
&nbsp;&nbsp;&nbsp;uploadfile.issupport = true;
&nbsp;&nbsp;}
&nbsp;&nbsp;uploadfile.issupport = true;
&nbsp;}else if(navigator.userAgent.indexOf("MSIE")>0){//IE
&nbsp;&nbsp;uploadfile.issupport = false;
&nbsp;}else{
&nbsp;&nbsp;uploadfile.issupport = false;
&nbsp;}
}</p><p>function isuploadtypes(id, types){
&nbsp;var fobj = null;
&nbsp;if('string'==typeof(id)){
&nbsp;&nbsp;fobj = eval(id);
&nbsp;}else{
&nbsp;&nbsp;fobj = id;
&nbsp;}
&nbsp;var name = fobj.value;
&nbsp;if(types!=null && types.length>0){
&nbsp;&nbsp;for(var i=0; i<types.length; i++){
&nbsp;&nbsp;&nbsp;if(name.toLowerCase().endWith(types[i])){
&nbsp;&nbsp;&nbsp;&nbsp;return true;
&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;}
&nbsp;}
&nbsp;return false;
}</p><p>function isuploadimg(id){
&nbsp;var fobj = null;
&nbsp;if('string'==typeof(id)){
&nbsp;&nbsp;fobj = eval(id);
&nbsp;}else{
&nbsp;&nbsp;fobj = id;
&nbsp;}
&nbsp;var name = fobj.value;
&nbsp;if (name.toLowerCase().endWith(".jpg")
&nbsp;&nbsp;|| name.toLowerCase().endWith(".jpeg")
&nbsp;&nbsp;|| name.toLowerCase().endWith(".png")
&nbsp;&nbsp;|| name.toLowerCase().endWith(".bmp")){
&nbsp;&nbsp;return true;
&nbsp;}
&nbsp;return false;
}
var image=new Image();
function uploadimg(id){
&nbsp;var fobj = null;
&nbsp;if('string'==typeof(id)){
&nbsp;&nbsp;fobj = eval(id);
&nbsp;}else{
&nbsp;&nbsp;fobj = id;
&nbsp;}
&nbsp;
&nbsp;if(fobj.files){//
&nbsp;&nbsp;uploadfile.size = fobj.files[0].fileSize;
&nbsp;&nbsp;if(fobj.files[0].fileSize==undefined){ //opera
&nbsp;&nbsp;&nbsp;//image.src = fobj.value;
&nbsp;&nbsp;&nbsp;uploadfile.issupport = false;
&nbsp;&nbsp;}else
&nbsp;&nbsp;if(navigator.vendor.indexOf("Google")>=0){//google
&nbsp;&nbsp;&nbsp;//alert(file1.files[0].path);//还未找到办法
&nbsp;&nbsp;&nbsp;uploadfile.issupport = false;
&nbsp;&nbsp;}else{//火狐
&nbsp;&nbsp;&nbsp;uploadfile.issupport = true;
&nbsp;&nbsp;&nbsp;image.src = fobj.files.item(0).getAsDataURL();
&nbsp;&nbsp;}
&nbsp;}else if(navigator.userAgent.indexOf("MSIE")>0){//IE
&nbsp;&nbsp;uploadfile.issupport = true;
&nbsp;&nbsp;image.src = fobj.value;
&nbsp;&nbsp;uploadfile.size = image.fileSize;
&nbsp;}else{
&nbsp;&nbsp;uploadfile.issupport = false;;
&nbsp;}
&nbsp;if(uploadfile.issupport){
&nbsp;&nbsp;image.style.cssText="display:block;position:absolute; left: -5000px; top:-5000px;";
&nbsp;&nbsp;document.body.appendChild(image);
&nbsp;&nbsp;uploadfile.imgwidth = image.width;
&nbsp;&nbsp;uploadfile.imgheight = image.height;
&nbsp;&nbsp;if(uploadfile.imgwidth==0){
&nbsp;&nbsp;&nbsp;uploadfile.imgwidth = image.offsetWidth;
&nbsp;&nbsp;&nbsp;uploadfile.imgheight = image.offsetHeight;
&nbsp;&nbsp;}
&nbsp;&nbsp;if(fobj.files){
&nbsp;&nbsp;&nbsp;setTimeout("pausetime()",0.0000000000001);
&nbsp;&nbsp;}else{
&nbsp;&nbsp;&nbsp;setTimeout("pauseietime()",200);
&nbsp;&nbsp;&nbsp;image.onreadystatechange= function(){
&nbsp;&nbsp;&nbsp;&nbsp;if(image.readyState == "complete"){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uploadfile.size = image.fileSize;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uploadfile.imgwidth = image.offsetWidth;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uploadfile.imgheight = image.offsetHeight;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(document.body.contains(image)){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.body.removeChild(image);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uploadfile.flag = true;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//getHeight();
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;}
&nbsp;&nbsp;fobj = null;
&nbsp;}
}</p><p>/**
* 四舍五入函数
* @param {} Dight
* @param {} How
* @return {}
*/
function ForDight(Dight,How){
&nbsp;Dight = Math.round (Dight*Math.pow(10,How))/Math.pow(10,How);
&nbsp;return Dight;
} </p><p>function getFileSize(filesize){
&nbsp;var size = "未知";
&nbsp;var tmp = 0;
&nbsp;if(filesize!=0){
&nbsp;&nbsp;tmp = ForDight(filesize/1024,2);
&nbsp;&nbsp;if(tmp<1){
&nbsp;&nbsp;&nbsp;size="1KB";
&nbsp;&nbsp;}else if(tmp<1024&&tmp>1){
&nbsp;&nbsp;&nbsp;tmp = ForDight(filesize/1024,0);
&nbsp;&nbsp;&nbsp;size=tmp+"KB";
&nbsp;&nbsp;}else{
&nbsp;&nbsp;&nbsp;tmp = ForDight(tmp/1024,2);
&nbsp;&nbsp;&nbsp;if(tmp<1024){
&nbsp;&nbsp;&nbsp;&nbsp;size=tmp+"MB";
&nbsp;&nbsp;&nbsp;}else{
&nbsp;&nbsp;&nbsp;&nbsp;tmp = ForDight(tmp/1024,2);
&nbsp;&nbsp;&nbsp;&nbsp;size=tmp+"GB";
&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;}
&nbsp;}
&nbsp;return size;
}</p><p>function pausetime(){
&nbsp;uploadfile.imgwidth = image.offsetWidth;
&nbsp;uploadfile.imgheight = image.offsetHeight;
&nbsp;document.body.removeChild(image);
&nbsp;uploadfile.flag = true;
&nbsp;getHeight();
}</p><p>function pauseietime(){
&nbsp;if(document.body.contains(image)){
&nbsp;&nbsp;document.body.removeChild(image);
&nbsp;&nbsp;if(image.fileSize < 5 || (image.height==30 && image.width==28)){
&nbsp;&nbsp;&nbsp;uploadfile.flag = false;
&nbsp;&nbsp;}else{
&nbsp;&nbsp;&nbsp;uploadfile.flag = true;
&nbsp;&nbsp;}
&nbsp;}
&nbsp;getHeight();
}</p><p>
function testsize(){
&nbsp;//if(isuploadimg('file1')){
&nbsp;if(isuploadtypes('file1',['.jpg','.gif','.png','.bmp','.txt'])){
&nbsp;&nbsp;uploadimg('file1');
&nbsp;}else{
&nbsp;&nbsp;alert('上传文件格式不对');
&nbsp;}
}</p><p>function getHeight(){
&nbsp;if(uploadfile.flag){
&nbsp;&nbsp;alert("高度:"+uploadfile.imgheight+"宽度:"+uploadfile.imgwidth);
&nbsp;&nbsp;//alert("宽度"+uploadfile.imgwidth);
&nbsp;&nbsp;alert("大小:"+getFileSize(uploadfile.size));
&nbsp;}else{
&nbsp;&nbsp;alert('检测图片出错,请修改您的图片再上传');
&nbsp;}
}
</script>
</head>
<body></p><p><input type=file name="file1" id="file1" onchange="testsize();">
<input type="button" value="test" onclick="getHeight()"/></p><p></body>
</html>
http://www.w3help.org/zh-cn/causes/HF1010
</p>
javascript 实现限制上传文件大小 立即下载

相关推荐

如何使用javascript限制文件上传大小

NULL 博文链接:https://yangwenshuai.iteye.com/blog/1182620

Vue el-upload组件上传(导入)excel文件、点击按钮上传

vue项目使用element组件上传excel文件 - 爱喝可乐的靓仔 - 博客园 <button @click="impoortExcel">导入excel文件</button> <!-- 导入模板文件 --> <el-dialog title="导入模板文件" :visible.sync="fileDialogVisible" width="50%" :close-on-click-modal="fal

林中明月间丶 1万+

通义灵码+高德 MCP:40分钟开发出游攻略网站

本文介绍了通义灵码与高德MCP在40分钟内快速开发出游攻略网站的全流程。主要内容包括:1)LingmaIDE开发环境的使用方法,涵盖界面操作、代码编辑、调试和智能编码功能;2)通义灵码智能体与高德MCP2.0的集成步骤,通过输入旅行需求即可自动生成包含天气卡片、景点路线等元素的HTML页面;3)重点展示了如何将行程规划导入高德地图APP,实现导航、打车等出行功能。整个开发过程充分利用了通义灵码的智能编码能力和高德地图的服务接口,显著提升了旅游类应用的开发效率。

soso1968的博客 986

JavaScript图片上传前预览和限制图片格式

JavaScript图片上传前预览和限制图片格式关键词: 上传图片    预览图片    网页开发    按比例缩小图片尺寸                                           这是一则PHP图片上传的例子,这里想说明的是在上传图片前,当用户从本地或是远程选择图片时能够预览图片,由于上传的图片有大有小,宽窄不一,上传后我们都将对图片进行裁减处理,但是在上

MaoMao_1983的专栏 2563

ERA5气象数据下载与解压全攻略:Python脚本一键搞定(附错误处理技巧)

本文提供了一套完整的ERA5气象数据自动化处理方案,涵盖从CDS API配置、智能批量下载到高效解压与数据验证的全流程。重点介绍了如何通过Python脚本实现一键式数据下载与批量解压,并分享了实用的错误处理技巧与性能优化策略,帮助科研人员高效获取和处理大规模气象数据。

k8l9m0n的博客 340

手把手复现论文:SVPWM过调制I区与II区算法仿真(附MATLAB源码)

本文详细介绍了SVPWM过调制I区与II区算法的MATLAB仿真实现,从理论推导到Simulink建模逐步解析。通过源码示例展示幅值补偿和六边形跟踪等关键技术,帮助电力电子研究者掌握过调制算法的核心实现方法,适用于电机控制、变频器等工业应用场景。

weixin_28739079的博客 531

js上传文件、文件大小限制

js上传文件,设置允许上传文件的大小

4782

不用买机械臂!用Python+ROS仿真实现RGB-D物体抓取全流程(Gazebo/MoveIt教程)

本文详细介绍了如何利用Python和ROS仿真环境(Gazebo/MoveIt)实现RGB-D物体抓取全流程,无需购买昂贵机械臂硬件。从环境搭建、机械臂模型导入、深度视觉系统配置到MoveIt运动规划,提供完整的实战指南,特别适合个人开发者和学生团队进行机械臂抓取算法验证与开发。

weixin_29061041的博客 341

js 前端验证文件上传格式,限制上传文件大小(兼容各种浏览器)

js 前端验证文件上传格式,js 前端验证上传文件大小,兼容各种浏览器

stwood007的博客 7436

基于VH6501的Busoff测试

摘要: 本文介绍使用VH6501和CANoe工具测试ECU的Busoff Recovery机制。通过干扰报文触发Busoff状态,验证快恢复(连续32次,间隔100ms)和慢恢复(间隔1000ms)的时序及次数是否符合要求。测试步骤包括硬件配置、干扰参数设置及Trace窗口错误帧分析,最终通过错误帧间隔判定恢复机制的正确性。

酒酿丸子的博客 1040

三峡大学-微机原理与接口技术实验

其中,A15接E1,因此,A15为1,A14A13A12A11A10A9A8A7通过八输入与非门74LS30与E2连接,因此A14A13A12A11A10A9A8A7为11111111,A6A5A4与CBA连接,因此A6A5A4为101,A3A2A1A0不参与译码,因此IO5的地址范围为1111 1111 1101 0000B~1111 1111 1101 1111B,即0FFD0H~0FFDFH。如图1所示,若IO0输出为低电平,则需要E1接高电平,E2接低电平,E3接低电平,CBA的输入为000。

m0_62222486的博客 497

javascript控制上传文件大小

代码如下: <html> <head> <title>我的第一个 HTML 页面</title> <script src="./jquery.min.js"></script> </head> <body> <a href="javascript:;" class="file"&g...

S852509769的博客 582

Midscene.js(1):Chrome 插件实战之基于 AI 驱动 WEB UI 自动化测试「喂饭教程」

Midscene.js 是一款开源的AI驱动UI自动化工具,支持自然语言交互、数据提取、断言验证等多种功能。自然语言交互。本文将以 Midscene.js Chrome 插件为例,带你从零上手,体验如何用最简单的方式实现高效、智能的UI自动化测试。

blues_C的博客 4404

js 控制上传文件大小

<br /><script type="text/javascript"><br />     function chksize(strFileName){<br />         try<br />         {<br />          var maxsize = 100;     //定义允许文件的大小,单位KB,请根据需要自行修改!<br />          var objStream = new ActiveXObject("ADODB.Stream");<br />

masuwen博客 726

基于树莓派4B与NCNN的YOLOv8高效部署实战:无GPU环境下的C++加速优化全流程指南**

本文详细介绍了在树莓派4B上基于NCNN框架部署YOLOv8目标检测模型的全流程。内容包括:从PyTorch模型导出NCNN格式文件、树莓派环境配置(OpenCV和NCNN编译)、C++实现代码解析(含模型加载、推理及后处理),以及实际部署测试结果。在树莓派4B上达到约2FPS,并提供INT8量化、多线程等优化建议。该方案为无GPU设备提供了轻量化目标检测的实用部署方案,适合边缘计算场景。

FJN110的博客 917

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Javascript 怎样控制上传文件大小

文件上传之前的检测,通常是通过文件名来判断文件类型是否合法,但是要想检测文件的大小很难办到,除非在本地或者使用控件。不过在IE下img有几个附加的属性,如:fileCreatedDate、fileModifiedDate、fileSize、fileUpdatedDate、filters,我们可以通过这些属性来获取图片文件的部分信息,如文件大小,我们用file表单同img标签结合,就能够在上传之前判...

weixin_34404393的博客 135

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

php js获取文件大小,js+ajax实现获取文件大小的方法_javascript技巧

本文实例讲述了js+ajax实现获取文件大小的方法。分享给大家供大家参考,具体如下:顾名思义,通过JS和Ajax来获取上传文件的大小,在上传之前可以有个判断,对上传的文件有所控制,因为js控制文件大小(JS获取文件大小)有些问题,具体大家试下就知道了,在此整理了一下ajax的获取文件大小的方法,比较好用,再调试过程中,出现了c:/fakepath/ 的错误,也将解决方案罗列在下面,以供大家参考废话...

weixin_29715563的博客 115

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

javascript监测(控制 )上传文件大小

script language="javascript">var oForm = new Object();var oImage = new Image();oImage.attachEvent(onload,getSize);oImage.attachEvent(onerror,doWithError);function checkImage(obj){    oForm = obj; 

wzj_119的专栏 352

ajax如何判断文件大小,js+ajax实现获取文件大小的方法

本文实例讲述了js+ajax实现获取文件大小的方法。分享给大家供大家参考,具体如下:顾名思义,通过JS和Ajax来获取上传文件的大小,在上传之前可以有个判断,对上传的文件有所控制,因为js控制文件大小(JS获取文件大小)有些问题,具体大家试下就知道了,在此整理了一下ajax的获取文件大小的方法,比较好用,再调试过程中,出现了c:/fakepath/ 的错误,也将解决方案罗列在下面,以供大家参考废话...

weixin_33469623的博客 461

php js获取文件大小,js ajax获取文件大小

本文实例讲述了js+ajax实现获取文件大小的方法。分享给大家供大家参考,具体如下:顾名思义,通过JS和Ajax来获取上传文件的大小,在上传之前可以有个判断,对上传的文件有所控制,因为js控制文件大小(JS获取文件大小)有些问题,具体大家试下就知道了,在此整理了一下ajax的获取文件大小的方法,比较好用,再调试过程中,出现了c:/fakepath/ 的错误,也将解决方案罗列在下面,以供大家参考废话...

weixin_42402730的博客 115

javascript 监测(控制 )上传文件大小

&lt;script language="javascript"&gt; var oForm = new Object(); var oImage = new Image(); oImage.attachEvent('onload',getSize); oImage.attachEvent('onerror',doWithError); function checkImage(obj){...

小刚的博客 140

如何用javascript控制上传文件的大小?

如何用javascript控制上传文件的大小? --------本文讲的是用javascript和在IE下Image的一些属性如(fileSize,fileUpdatedDate)等控制上传文件的大小。                     function   CheckFileSize()     {         var   s   =   document.

lijian910wolf的专栏 752

html5中的input(type="file")的multiple属性,实现多文件上传,并用js控制文件大小,数量

HTML5中多文件上传时如何客户端控制文件个数和大小 js获取HTML5 多文件file选择的数量 HTML5之File API(一) 前台JS(type=‘file’)读取本地文件的内容,兼容各种浏览器 一

kbx8916的博客 2万+
上一篇: ORACLE EXECUTE IMMEDIATE 小结
下一篇: ORACLE 表空间扩展方法
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值