首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gwtupload:设置动态文件上传大小

gwtupload:设置动态文件上传大小
EN

Stack Overflow用户
提问于 2013-09-27 18:43:19
回答 2查看 1.7K关注 0票数 1

我正在解决GWT中的文件上传问题。我的测试应用程序工作得很好。我想为gwtupload创建的不同上传小工具设置不同的文件上传限制。(Project Home)

代码语言:javascript
复制
SingleUploader sUploader = new SingleUploader();

我使用下面的代码在web.xml中设置了上传限制。是否有在运行时设置不同文件大小的选项?

代码语言:javascript
复制
<context-param>
    <!-- max size of the upload request -->
    <param-name>maxSize</param-name>
    <param-value>3145728</param-value>
  </context-param>
EN

回答 2

Stack Overflow用户

发布于 2013-09-27 23:32:20

在gwtupload UploadServlet.java类中,您可以覆盖在将请求传递给gwtupload之前调用的方法

代码语言:javascript
复制
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库相当容易,而且更加灵活。

票数 1
EN

Stack Overflow用户

发布于 2014-10-23 19:59:28

只需覆盖以下内容即可。这对我很有效,maxSize是超类中的一个受保护变量

代码语言:javascript
复制
@Override
public void init() throws ServletException {
    maxSize = 157286400;
    super.init();
}

@Override
public void checkRequest(HttpServletRequest request) {
    maxSize = 157286400;
    super.checkRequest(request);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19048809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档