以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  weui 如何网页限制上传文件大小?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=187722)

--  作者:zhenghangbo
--  发布时间:2023/8/7 9:40:00
--  weui 如何网页限制上传文件大小?

1.修改 web/weui 文件夹下的 weui.me.js 文件,黑色代码是新增的,用于判断文件大小,网页端只是跳出一个提示框,任然能上传。

 

function previewFile() {
    For (var i = 0, len = this.files.length; i < len; i++) {
        var file = this.files[i];
        alert("大小:" + file.size);
        If (file.size > 1024 * 100) { // 100kb
            alert("太大");
            return;
        }
    }

2.保存后再删除,这个风险太大,如果有人恶意上传一个超大文件,那就很麻烦。光保存就要耗费服务器很多时间跟空间。


有没有其他什么好的方法


--  作者:有点蓝
--  发布时间:2023/8/7 9:51:00
--  
只能是第一种方法, weui.me.js 文件里有3个previewFile方法,都在开头加上判断
--  作者:chen37280600
--  发布时间:2023/8/7 10:55:00
--  
不是有个BeforeHttpRequest事件,可以拦截大文件炸弹的吗?
--  作者:zhenghangbo
--  发布时间:2023/8/7 11:15:00
--  

[此贴子已经被作者于2023/8/8 12:25:42编辑过]

--  作者:zhenghangbo
--  发布时间:2023/8/8 11:26:00
--  
function previewFile() {
    For (var i = 0, len = this.files.length; i < len; i++) {
        var file = this.files[i];
        alert("大小:" + file.size);
        If (file.size > 1024 * 100) { // 100kb
              document.getElementById("up2_counter").innerHTML=""
        document.getElementById("up2").value=""
            alert("太大");
            return;
        }
    }

请增加红色代码就可以防止上传了,需要将输入框的值清空一下,而且还可以不符合的话继续提示。