BS架构下,如何判断需要上传的本地文件大小

xuhesheng 2010-11-25 01:17:57
基于BS结构的网站
现在需要在客户端上传一个文件
但是对文件大小要进行控制

以前用的方案是
上传上去,如果大于给定的大小
那么返回一个文件过大的提示

但是矛盾是
你必须要上传,也就是需要传入到服务器上才能判断
我现在是想在客户端就能进行判断文件大小然后给出true或false的提示信息

如何能够完成这样的功能

注意
你是使用页面的操作员,而程序是在远程的服务器
访问本机当然,绝对路径也没问题
但是问题是,操作员的文件,在服务器上并没有
如何能够判断

服务器端判断还是客户端判断
如何处理呢
...全文
188 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
whmjxa 2010-11-26
  • 打赏
  • 举报
回复
js是不能操作本地文件的,除非是写applet,不过那也要设置数字签名才可以
xuhesheng 2010-11-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yanhui007 的回复:]
var objStream = new ActiveXObject("ADODB.Stream");
objStream.Type = 1;
objStream.Open();
objStream.LoadFromFile(上传的文件路径);
Math.round(objStream.Size/1024,2)
[/Quote]
这样会触发安全问题
不可取
不过谢谢你的建议
tubage408 2010-11-26
  • 打赏
  • 举报
回复
<script type="text/javascript">
function getFileSize(filePath) {
var image=new Image();
image.dynsrc=filePath;
alert(image.fileSize);
}
</script>
<body>
<INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this.value)">
</body>
ousyuryu 2010-11-26
  • 打赏
  • 举报
回复
js判断用这个试下

function getFileByteSize(fileElementId) {

var obj = document.getElementById(fileElementId);
if (obj == null) {return 0;}
if (obj.value == null || obj.value == "") return 0;
return obj.files.item(0).fileSize;
}
  • 打赏
  • 举报
回复
IE 可以,Firefox 需要 3.5 以上的版本才支持。
ChDw 2010-11-26
  • 打赏
  • 举报
回复
可以使用Flash上传文件,在Flash中可以判断文件的大小的。可以参考一下u.115.com这些网盘的做法
raulchenbest 2010-11-26
  • 打赏
  • 举报
回复
js判断。
yellow0323 2010-11-26
  • 打赏
  • 举报
回复
关注。。。。。。。。。
zn85600301 2010-11-25
  • 打赏
  • 举报
回复
服务器是好判断
你要在客户端判断 那就必须是JS 这个没做过··
yanhui007 2010-11-25
  • 打赏
  • 举报
回复
var objStream = new ActiveXObject("ADODB.Stream");
objStream.Type = 1;
objStream.Open();
objStream.LoadFromFile(上传的文件路径);
Math.round(objStream.Size/1024,2)

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧