有一种方法到是挺流行的,不过好像只能在本地机可以,放到服务器上好像不行吧?
如:var ip = document.getElementById(fulFile);
ip.select();
var path = document.selection.createRange().text;fso = new ActiveXObject("Scripting.FileSystemObject");
var file=fso.GetFile(path);
alert(file.size);当然,要先开启ACTIVEX。
我的path这个对象得不到值,不知道怎么回事。
我用其它方法得到了input框里的文本值:D:\xxx\xxx\xx.doc
我在本地(localhost)试可以,但把项目放到服务器上就不行,找不到路径,因为取的是带盘符的本地路径不知道应该怎么处理,在网上找了很多,差不多都是这种方法,难道他们都不用放到服务器上???真是奇怪!
如:var ip = document.getElementById(fulFile);
ip.select();
var path = document.selection.createRange().text;fso = new ActiveXObject("Scripting.FileSystemObject");
var file=fso.GetFile(path);
alert(file.size);当然,要先开启ACTIVEX。
我的path这个对象得不到值,不知道怎么回事。
我用其它方法得到了input框里的文本值:D:\xxx\xxx\xx.doc
我在本地(localhost)试可以,但把项目放到服务器上就不行,找不到路径,因为取的是带盘符的本地路径不知道应该怎么处理,在网上找了很多,差不多都是这种方法,难道他们都不用放到服务器上???真是奇怪!
你的方式也只有ie支持你可以找一个flash上传组件,flash可以在前段判断文件大小,比如jquery.uploadify
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
function show(){
var fs=document.getElementById("test").files;
var div=document.getElementById("show");
for(var i=0;i<fs.length;i++){
div.innerHTML+="name:"+fs[i].name+",size:"+fs[i].size+",type:"+fs[i].type+"<br/>";
}
}
</script>
</head><body>
<input type="file" multiple id="test">
<input type="button" value="show" onclick="show()">
<div id="show"></div>
</body>
</html>html5貌似有个这样的玩意 不知行不行
不行哦,我拿出来用了下,没反应,是不是我的是IE9的原因?再回下前面的,我火狐的可以得到,因为有专门的函数取,就是IE.....真麻烦。
var file = document.getElementById('fileElement');
var list = file.fileList;
var size = list[0].fileSize;
你在网上查一下HTML5的file api吧!