文件上传,使用表单提交,在后台判断大小,超过规定大小给前段返回信息

发布于 2021-11-30 16:07:28 字数 714 浏览 806 评论 9

@JFinal 你好,想跟你请教个问题:

页面采用表单提交方式。目的在后端判断提交的文件大小是否超过10M,如果超过给原来的页面返回提示信息,请问怎么实现毕竟好,或在下面的controller里如何修改。

controller  

 try{
files = getFiles(filePath,
((Integer) PropertiesPlugin
.getParamMapValue(DictKeys.config_maxPostSize_key))
.intValue(), ToolString.encoding);
}catch(Exception e){
Map<String, Object> json = new HashMap<String, Object>();
json.put("info", "error");
renderJson(json);
return ;   // 这里如何终止方法执行 不运行~~~处代码
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

感情旳空白 2021-12-01 04:02:43

引用来自“romeo2015”的评论

$("#applyCommitfoForm").ajaxSubmit({

   cache: false,

       success:  function (data) {

       if(data != ""){

       $('#content').html(data);

    }

       $('#loading').remove();

       $('#content').fadeIn();

       docReady();

   },

   error: function(data) {

    //希望在这里获取data的值

       alert("提交失败,请检测文件大小是否小于100M!");

       $('#loading').remove();

       $('#content').fadeIn();

       docReady();

   }

   });

如日中天 2021-12-01 04:02:38

$("#applyCommitfoForm").ajaxSubmit({

   cache: false,

       success:  function (data) {

       if(data != ""){

       $('#content').html(data);

    }

       $('#loading').remove();

       $('#content').fadeIn();

       docReady();

   },

   error: function(data) {

    //希望在这里获取data的值

       alert("提交失败,请检测文件大小是否小于100M!");

       $('#loading').remove();

       $('#content').fadeIn();

       docReady();

   }

   });

少女净妖师 2021-12-01 04:02:29

现在出了异常前端进入error方法 并且json值获取不到,有没有办法改进下try里面判断大小的方法,不报异常,使得前端能获取数据

你曾走过我的故事 2021-12-01 04:01:41

回复
进入 error 方法,这个方法的参数值是什么?

绝情姑娘 2021-12-01 03:54:32

回复
error: function(data) { alert(dat.info); 这样应该是和后台对应的吧. error function 我不怎么清楚 用的少,以前返回值都是在success里调用的。

疑心病 2021-12-01 02:44:32

回复
data.info

筱武穆 2021-11-30 22:53:53

   这样处理就挺好,在 catch 中 renderJson 到客户端,并且 return 即可

冷清清 2021-11-30 22:12:39

在请求开始处就判断长度,这个应该是最好的方案,感谢回来分享

醉酒的小男人 2021-11-30 20:53:31

终于发现问题根本原因,获取文件大小可以用request,顺利实现后台检测文件大小。

Map<String, Object> json = new HashMap<String, Object>();
		int size = getRequest().getContentLength();
        int filesize = (Integer) PropertiesPlugin.getParamMapValue(DictKeys.config_maxPostSize_key);
		List<UploadFile> files = new ArrayList<UploadFile>();
        if(size >filesize){
        	json.put("info", "上传的文件大小超过"+filesize/(1024*1024)+"M。");
			json.put("status", "1");
			renderJson(json);
			return;
        }

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文