我正在解决GWT中的文件上传问题。我的测试应用程序工作得很好。我想为gwtupload创建的不同上传小工具设置不同的文件上传限制。(Project Home)
SingleUploader sUploader = new SingleUploader();我使用下面的代码在web.xml中设置了上传限制。是否有在运行时设置不同文件大小的选项?
<context-param>
<!-- max size of the upload request -->
<param-name>maxSize</param-name>
<param-value>3145728</param-value>
</context-param>发布于 2013-09-27 23:32:20
在gwtupload UploadServlet.java类中,您可以覆盖在将请求传递给gwtupload之前调用的方法
public void checkRequest(HttpServletRequest request) {
logger.debug("UPLOAD-SERVLET (" + request.getSession().getId() + ") procesing a request with size: " + getContentLength(request) + " bytes.");
if (getContentLength(request) > maxSize) {
throw new UploadSizeLimitException(maxSize, getContentLength(request));
}
}如果需要通过SingleUploader修改客户端允许的最大大小,可以通过在隐藏的表单字段中传递maxsize并在被覆盖的checkRequest方法中检查它来实现。然后第二次检查web.xml中配置的大小,但apache库中的大小是绝对最大大小。也就是说,你可以限制到一个数字/小于/,但不能高于这个数字。
由于这样的原因,我最终放弃了gwtupload,并推出了自己的gwtupload,使用apache fileupload库相当容易,而且更加灵活。
发布于 2014-10-23 19:59:28
只需覆盖以下内容即可。这对我很有效,maxSize是超类中的一个受保护变量
@Override
public void init() throws ServletException {
maxSize = 157286400;
super.init();
}
@Override
public void checkRequest(HttpServletRequest request) {
maxSize = 157286400;
super.checkRequest(request);
}https://stackoverflow.com/questions/19048809
复制相似问题