js 上传文件
<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;
}
}
}
来自:http://bbs.csdn.net/topics/390722613