文件上传,使用表单提交,在后台判断大小,超过规定大小给前段返回信息
@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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
引用来自“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();
}
});
$("#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();
}
});
现在出了异常前端进入error方法 并且json值获取不到,有没有办法改进下try里面判断大小的方法,不报异常,使得前端能获取数据
回复
进入 error 方法,这个方法的参数值是什么?
回复
error: function(data) { alert(dat.info); 这样应该是和后台对应的吧. error function 我不怎么清楚 用的少,以前返回值都是在success里调用的。
回复
data.info
这样处理就挺好,在 catch 中 renderJson 到客户端,并且 return 即可
在请求开始处就判断长度,这个应该是最好的方案,感谢回来分享
终于发现问题根本原因,获取文件大小可以用request,顺利实现后台检测文件大小。