[JS] 限制上传文件的类型和大小
<!DOCTYPE html>
<!-- saved from url=(0035)http://localhost:9090/qraved/update -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css" />
</head> <body style="background:#ecf0f5;"> <div class="container">
<div class="header clearfix" style="border-bottom:1px solid #ccc;">
<h3 style="float:left;" class="text-muted">EXCUTE SQL TASK</h3>
</div> <div style="margin-top:30px;">
<div class="panel panel-danger">
<div class="panel-heading">
<h3 class="panel-title">upload sql file</h3>
</div>
<div class="panel-body">
<form class="form-inline">
<div class="form-group">
<input type="file" id="uploadFile" onchange="check()">
<p class="help-block" id="hintInfo">select a sql file</p>
<input type="button" id="uploadBtn" onclick="upload()" class="btn btn-sm btn-info" value="upload" />
<input type="button" id="checkBtn" onclick="checksql()" class="btn btn-sm btn-danger" value="check" style="display:none;"/>
</div>
</form>
</div>
</div>
</div>
</div> <script language="javascript" src="jQuery-2.1.4.min.js"></script>
<script language="javascript"> //是否允许上传操作
var fileSelected = false; //是否上传成功
var uploadSuccess = false; //是否检测成功
var checkSuccess = false; //文件大小限制
//var maxsize = 2*1024;//2M
var maxsize = 2;//2KB //检测文件类型
function check(){ $("#uploadBtn").show();
$("#checkBtn").hide(); var file = $("#uploadFile").val();
console.log("文件路径:"+file);
if(file == '' || file == null) {
$("#hintInfo").html("<span style='color:red;'>请选择所要上传的文件!</span>");
return false;
} var index = file.lastIndexOf(".");
var ext = file.substring(index + 1, file.length);
console.log("文件类型:"+ext); if(ext != "sql" && ext!="SQL" ) {
$("#hintInfo").html("<span style='color:red;'>选择的文件格式不正确,请选择sql文件(*.sql)!</span>");
return false;
} //检测文件大小 var obj = document.getElementById("uploadFile");
var fileSize = 0;
var isIE = /msie/i.test(navigator.userAgent) && !window.opera;
if (isIE && !obj.files) {
var filePath = obj.value;
var fileSystem = new ActiveXObject("Scripting.FileSystemObject");
var file = fileSystem.GetFile (filePath);
fileSize = file.Size;
}else {
fileSize = obj.files[0].size;
}
console.log(fileSize +"byte");
fileSize=Math.round(fileSize/1024*100)/100; //单位为KB
console.log(fileSize+"KB"); if(fileSize>=maxsize){
$("#hintInfo").html("<span style='color:red;'>文件最大尺寸为"+maxsize+"KB,请重新上传!</span>");
return false;
} //获取文件名
var index2 = file.lastIndexOf("\\");
if(index < 0) {
index2 = file.lastIndexOf("/");
}
var filename = file.substring(index2 + 1, file.length);
console.log(filename); $("#hintInfo").html("<span style='color:green;'>已选择文件<span style='color:orange;'>"+filename+"</span>,请点击upload按钮上传!</span>");
fileSelected = true;
} //执行上传操作
function upload(){
if(!fileSelected){
alert("请选择sql文件(*.sql)!");
return false;
} //TO DO 执行上传操作
uploadSuccess = true;
if(uploadSuccess){
//上传成功后显示check按钮,隐藏upload按妞
$("#hintInfo").html("<span style='color:green;'>上传成功!</span>");
$("#uploadBtn").hide();
$("#checkBtn").show();
}else{
//上传失败则显示提示信息
$("#hintInfo").html("<span style='color:red;'>上传失败!</span>");
$("#uploadBtn").show();
$("#checkBtn").hide();
}
} function checksql(){ checkSuccess = true;
//根据槛车状态提示检测信息
if(checkSuccess){
$("#hintInfo").html("<span style='color:green;'>检测成功!</span>"); }else{
$("#hintInfo").html("<span style='color:green;'>检测失败!</span>");
}
} </script>
</body>
</html>
[JS] 限制上传文件的类型和大小的更多相关文章
- js判断上传文件的类型和大小
//检测文件大小和类型 function fileChange(target){ //检测上传文件的类型 if(!(/(?:jpg|gif|png|jpeg)$/i.test(target.value ...
- js限制上传文件的类型和大小
var maxsize = 6*1024*1024;//6M var errMsg = "上传的附件文件不能超过6M!!!"; var tipMsg = "您的浏览器暂不 ...
- js限制上传文件类型和大小
<html> <head> <script type="text/javascript"> function fileChange(target ...
- Atitit.js获取上传文件全路径
Atitit.js获取上传文件全路径 1. 默认的value只能获取文件名..安全原因.. 1 2. Firefox浏览器的读取 1 3. Html5 的file api 2 4. 解决方法::使用a ...
- js能否上传文件夹
文件夹上传:从前端到后端 文件上传是 Web 开发肯定会碰到的问题,而文件夹上传则更加难缠.网上关于文件夹上传的资料多集中在前端,缺少对于后端的关注,然后讲某个后端框架文件上传的文章又不会涉及文件夹. ...
- 利用ajaxfileupload.js异步上传文件
1.引入ajaxfileupload.js 2.html代码 <input type="file" id="enclosure" name="e ...
- js获取上传文件内容(未完待续)
js 获取上传文件的字节数及内容 <div> 上传文件 : <input type="file" name = "file" id = &qu ...
- js获取上传文件内容
js 获取上传文件的字节数及内容 <div> 上传文件 : <input type="file" name = "file" id = &qu ...
- MIME类型-服务端验证上传文件的类型
MIME的作用 : 使客户端软件,区分不同种类的数据,例如web浏览器就是通过MIME类型来判断文件是GIF图片,还是可打印的PostScript文件. web服务器使用MIME来说明发送数据的种类, ...
随机推荐
- 【leetcode❤python】13. Roman to Integer
#-*- coding: UTF-8 -*-#从前向后遍历罗马数字,#如果某个数比前一个数小,则加上该数.反之,减去前一个数的两倍然后加上该数###-----技术规则-----#----------- ...
- GZFramwork快速开发框架演练之会员系统(二)添加字典模块
开始前请先阅读 GZFramwork快速开发框架之窗体设计说明 第一步:准备模块图片 图片为2张大小分别为16x16和32x32,放在\Debug\images目录下 因为会员管理模块并不多 ...
- [UVa1210]Sum of Consecutive Prime Numbers(前缀和,打表)
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...
- [51NOD1065] 最小正子段和(STL,前缀和)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1065 估计没人这么做吧-用一个set维护前缀和,但是set的l ...
- bzoj 1588: [HNOI2002]营业额统计 treap
1588: [HNOI2002]营业额统计 Time Limit: 5 Sec Memory Limit: 162 MBSubmit: 13902 Solved: 5225[Submit][Sta ...
- LINQ之路 1: LINQ介绍
LINQ是.NET Framework 3.5的新特性,其全称是 Language Integrated Query,即语言集成查询,是指将查询功能和语言结合起来.从而为我们提供一种统一的方式,让我们 ...
- DataTable字符串类型的数字,按照数字类型排序
protected void Page_Load(object sender, EventArgs e) { DataTable dt = new DataTable(); ...
- js操作cookie,实现登录密码保存 [转]
转自:http://blog.csdn.net/zyujie/article/details/8727828 ( 谢谢博主了) js操作cookie,实现登录密码保存.cookie的存放方式是以键值对 ...
- 2013 Multi-University Training Contest 8
HDU-4676 Sum Of Gcd 题意:给定一个1-N的全排列序列,N<=20000,有Q组询问,Q<=20000,每组询问给出左右区间[l, r],问区间内的任意两个数的gcd之和 ...
- struts2 传递数组、List、Map
struts2 传递数组.List.Map jsp文件 数组: <s:textfield name="ages" value="a1">&l ...