如何在服务端判断上传附件的大小 既然你是用Struts,想必是使用FormFile来做的文件上传吧?FormFile有一个getFileSize()的方法,就是所上传的文件的大小。呵呵。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 判断 因该在struts-config里面做。在controller 里面 设置 一下maxFileSize就可以了。如果把信息传到后台 会影响系统性能。 如果是struts2的话,就更简单了!有个file属性,File file,你对file操作就完了 通过FormFile.getFileSize()方法来判断文件的大小是否超标,如果超标,就想用户返回错误信息。但是这种方法的最大问题就是用户的文件已经上传到服务器并且保存在内存中了,万一用户上传了一个1000M的文件怎么办,服务器还不直接挂了。参照struts的文档,配置了文件的大小(),这样在上传的过程中,如果文件超过了配置的大小,就会终止文件的上传。相应的FormFile字段为null,我们无法简单的通过判断FormFile是否为空来用户的文件是否超过了配置的大小,不过struts为我们提供了一个途径,在文件超过配置大小时struts会在Servelet Request设置一个属性, MultipartRequestHandler.ATTRIBUTE_MAX_LENGTH_EXCEEDED,它的值是一个Boolean类型的变量,所以我们可以在Action的execute方法中通过如下代码判断文件是否”超标“: Boolean maxLengthExceeded = (Boolean) request.getAttribute( MultipartRequestHandler.ATTRIBUTE_MAX_LENGTH_EXCEEDED); if ((maxLengthExceeded != null) && (maxLengthExceeded.booleanValue())) { Blar, Blar... } 判断 在导入Struts的时候 在WEB-INF的下面是不是有个Struts-config 在struts-config里面的message-resources那个标签 上面写 controller maxFileSize给MAXFILESIZE设置一个值就可以了。比喻 <controller maxFileSize="10mb"/> 如果上传了大于10MB的的东西 系统就会抛出异常。 Struts 1.x是用FormFile来判断;Struts 2.x是直接使用java.io.File进行判断(注意这是单个文件,不是一次上传的全部文件) s:action 的用法 spring mvc整合ajax sturts2 邮件乱码问题 真让人费解的一个疑问关于ftpClient的问题 Hibernat如何实现跨Session操作 如何把以下SQL转为HQL 关于正则表达式和日志的多个开发包的疑问,如何选择??? 关于一个入门问题,高手进,指点一下 有谁用WEBLOGIC8.0吗?我安装了一个,找不到北,怎么跟8.0差别这么大??大家说说看自己的想法,哪里可以找到相关资料! struts动态ActionForward问题 hibernate 学习内容
在controller 里面 设置 一下maxFileSize就可以了。
如果把信息传到后台 会影响系统性能。
通过FormFile.getFileSize()方法来判断文件的大小是否超标,如果超标,就想用户返回错误信息。但是这种方法的最大问题就是用户的文件已经上传到服务器并且保存在内存中了,万一用户上传了一个1000M的文件怎么办,服务器还不直接挂了。参照struts的文档,配置了文件的大小(),这样在上传的过程中,如果文件超过了配置的大小,就会终止文件的上传。相应的FormFile字段为null,我们无法简单的通过判断FormFile是否为空来用户的文件是否超过了配置的大小,不过struts为我们提供了一个途径,在文件超过配置大小时struts会在Servelet Request设置一个属性, MultipartRequestHandler.ATTRIBUTE_MAX_LENGTH_EXCEEDED,它的值是一个Boolean类型的变量,所以我们可以在Action的execute方法中通过如下代码判断文件是否”超标“: Boolean maxLengthExceeded = (Boolean) request.getAttribute(
MultipartRequestHandler.ATTRIBUTE_MAX_LENGTH_EXCEEDED);
if ((maxLengthExceeded != null) && (maxLengthExceeded.booleanValue())) { Blar, Blar... }
controller maxFileSize
给MAXFILESIZE设置一个值就可以了。
比喻 <controller maxFileSize="10mb"/>
如果上传了大于10MB的的东西 系统就会抛出异常。