如何通过js获取上传文件尺寸
1个回答
2016-11-24 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
<input id="file_Up" name="file_Up" type="file" onchange="getFileSize(this.value)"/>
<input id="sub_Import" type="submit" value="导入" />
js中function getFileSize() {
var btnsave = document.getElementById("sub_Import");
btnsave.disabled = true;
var filepath = "";
var fileupload = document.getElementById("file_Up");
if (fileupload.value.length < 5) {
alert('请选择文件!');
return;
}
var agent = window.navigator.userAgent;
if (agent.indexOf("Firefox") >= 1) {
var maxsize = 4 * 1024 * 1024;
var size = fileupload.files[0].size;
if (size > parseInt(maxsize)) {
alert("文件超过大小!");
return false;
}
else {
btnsave.disabled = false;
return true;
}
}
else {
fileupload.select();
fileupload.blur();
filepath = document.selection.createRange().text;
try {
var fso, f, fname, fsize;
var flength = 4 * 1024; //设置上传的文件最大值(单位:kb),超过此值则不上传。
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFile(filepath); //文件的物理路径
fname = fso.GetFileName(filepath); //文件名(包括扩展名)
fsize = f.Size; //文件大小(bit)
fsize = fsize / 1024;
//去掉注释,可以测试
alert("文件路径:" + f);
alert("文件名:" + fname);
alert("文件大小:" + fsize + "kb");
if (fsize > flength) {
alert("上传的文件到小为:" + fsize + "kb,\n超过最大限度" + flength + "kb,不允许上传 ");
return false;
}
else {
btnsave.disabled = false;
return true;
}
} catch (e) {
alert(e + "\n 跳出此消息框,是由于你的activex控件没有设置好,\n" +
"你可以在浏览器菜单栏上依次选择\n" +
"工具->internet选项->\"安全\"选项卡->自定义级别,\n" +
"打开\"安全设置\"对话框,把\"对没有标记为安全的\n" +
"ActiveX控件进行初始化和脚本运行\",改为\"启动\"即可");
return false;
}
}
}
<input id="sub_Import" type="submit" value="导入" />
js中function getFileSize() {
var btnsave = document.getElementById("sub_Import");
btnsave.disabled = true;
var filepath = "";
var fileupload = document.getElementById("file_Up");
if (fileupload.value.length < 5) {
alert('请选择文件!');
return;
}
var agent = window.navigator.userAgent;
if (agent.indexOf("Firefox") >= 1) {
var maxsize = 4 * 1024 * 1024;
var size = fileupload.files[0].size;
if (size > parseInt(maxsize)) {
alert("文件超过大小!");
return false;
}
else {
btnsave.disabled = false;
return true;
}
}
else {
fileupload.select();
fileupload.blur();
filepath = document.selection.createRange().text;
try {
var fso, f, fname, fsize;
var flength = 4 * 1024; //设置上传的文件最大值(单位:kb),超过此值则不上传。
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFile(filepath); //文件的物理路径
fname = fso.GetFileName(filepath); //文件名(包括扩展名)
fsize = f.Size; //文件大小(bit)
fsize = fsize / 1024;
//去掉注释,可以测试
alert("文件路径:" + f);
alert("文件名:" + fname);
alert("文件大小:" + fsize + "kb");
if (fsize > flength) {
alert("上传的文件到小为:" + fsize + "kb,\n超过最大限度" + flength + "kb,不允许上传 ");
return false;
}
else {
btnsave.disabled = false;
return true;
}
} catch (e) {
alert(e + "\n 跳出此消息框,是由于你的activex控件没有设置好,\n" +
"你可以在浏览器菜单栏上依次选择\n" +
"工具->internet选项->\"安全\"选项卡->自定义级别,\n" +
"打开\"安全设置\"对话框,把\"对没有标记为安全的\n" +
"ActiveX控件进行初始化和脚本运行\",改为\"启动\"即可");
return false;
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询