Struts 2约定插件-上传超过2MB的文件

2023-12-02

如果我尝试上传超过 2 MB 的文件,则会出错。

我在 apache 网站上发现“有两个单独的文件大小限制。第一个是 struts.multipart.maxSize,它来自 Struts 2 default.properties 文件。此设置的存在是出于安全原因,以禁止恶意用户上传极大的文件”归档您的服务器磁盘空间。此设置默认约为 2 MB,应调整为您需要框架接收的最大文件大小(最大 2 GB)”

所以我发现这个问题可以通过添加具有所需最大限制的标签来解决<constant name="struts.multipart.maxSize" value="1000000" />在 struts.xml 文件中。

我们使用的是struts2-convention-plugin,所以我们没有struts.xml。所以我不确定在哪里定义这个最大文件大小......

如果你们中有人遇到过这一点,请告诉我..

感谢您的帮助。


  1. 您可以在 Struts.xml 中定义最大大小(多部分.maxSize正如你所说)来限制overall每个多部分请求的传输;

  2. 您还可以定义文件大小文件上传拦截器(默认 2MB),既可以全局用于包,也可以用于单个操作(通过在<action> tag in struts.xml,或者在使用时在 Action 中对其进行注释约定插件:

    <interceptor-ref name="fileUpload">
        <param name="maximumSize">10485760</param>
    </interceptor-ref>
    

这意味着,例如,如果您将整体分段大小配置为 20 MB,每个文件的最大大小为 4 MB,则您将能够在单个请求中执行 5 个 4 MB 文件的多重上传;

更多信息请点击这里:https://stackoverflow.com/a/15968166/1654265


也就是说,你的问题是没问题;

using 约定插件并不意味着你没有struts.xml;代表着

  • you can在操作中使用注释
  • you may避免使用struts.xml;
  • 当一些与操作无关的struts配置,如multipart.maxSize,需要全局映射(结果、异常、自定义拦截器堆栈等)时,您绝对可以 use struts.xml(如果在那一刻之前它不存在,则创建它)。

任何地方都没有约定插件文档,提到它是互斥的struts.xml(相反,如果您尝试在该页面上搜索“struts.xml”,你会发现多次出现)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Struts 2约定插件-上传超过2MB的文件 的相关文章

随机推荐

  • 在 webfaction 上隐藏安全 django 设置信息

    我试图隐藏 webfaction 上 django 应用程序的数据库密码等安全信息 但我找不到如何以及在哪里使用环境变量设置这些信息 我开发了一个可以用 pip 安装的包 pip install djangosecure 在你的 setti
  • 单元测试 Angular Observables

    我是测试领域的新手 刚刚开始为现有的 Angular 2 代码编写单元测试 我有一个函数confirmDelete返回Obserable
  • DataTables+Datepicker 按日期范围过滤表

    尝试使用两个有界日期选择器按日期范围实现数据表过滤器 我在 SO 上见过很少类似的问题 但没有一个答案对我有用 到目前为止 我设法实现了界面元素 但不知道如何将它们组合在一起以进一步进行 任何帮助表示赞赏 var myTableData i
  • 在 R 包中包含 TMB C++ 代码的指南

    我最近发现了 TMB 的神奇之处 并且正在开发一个包 最好在其中包含 TMB c 模板 以用于计算成本相当高的模型 我假设有可能 在软件包安装时自动编译 TMB 源代码 但我在 TMB 文档中找不到与此相关的任何明确指南 到目前为止 我的替
  • 如何在 C# 中创建 Trie [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 有谁知道在哪里可以找到如何在 C 中构造 trie 的示例 我正在尝试使用字典 单词列表并用它创建一个字典树 这是我自己的代码 从我的答案中提取如何
  • 使用 Java 8 Streams 的收集器根据现有键/值对增加值

    假设有一个List然后Object包含两个方法 getUserId and getPoints 考虑一下List包含三个对象 它们包含以下数据 userId A 3 points userId A 5 points userId B 1 p
  • jqGrid 迭代子网格中的网格数据

    我想迭代网格对象中包含的所有数据 我的网格有一个包含子网格对象的定义 并以这种方式创建 var grid gridID var pager pagerID grid jqGrid url GetBaseWSUrl MyWs asmx MyM
  • 使用 VBA 将 Excel 数据保存为 csv - 删除文件末尾的空白行以保存

    我正在 VBA 中创建一组 csv 文件 我的脚本正在创建我需要的数据集 但行数在循环的多次迭代中有所不同 例如 对于 i 2 我有 100 000 行 但对于 i 3 我有 22 000 行 问题是 当 Excel 保存这些单独的 csv
  • 使用方法体的 Java 8 谓词仅被调用一次?

    我检查了以下片段 public static
  • 包括使用 data.table[by=...] 时的所有排列

    我有一个大data table我正在使用以下方法将其折叠到月份级别 by 变量有 5 个 级别数 c 4 3 106 3 1380 106 是月份 1380 是地理单位 事实证明 有一些 0 因为有些单元格没有值 by放弃这些 但我希望它保
  • Django 多个用户配置文件/子配置文件

    我正在尝试创建一个具有内部 外部用户特定配置文件和通用通用配置文件的内联网 外联网 我已经查看了该网站上的几个答案 但没有一个具体解决我想要做的事情 以下是我迄今为止拥有的 精简的 文件 创建配置文件模型以及针对每种用户类型的子配置文件的最
  • Angular 2 - 当一个 Http 请求依赖于另一个 Http 请求的结果时该怎么办

    我无法弄清楚如何使用 Http 请求的结果来发出另一个 Http 请求 我有一个从后端 API 请求并接收 JSON Web 令牌的服务 如下所示 Injectable export class JwtAuthorizationServic
  • 使用列别名作为排序键的 Spring 批处理 - 格式错误的“where”语句

    我正在使用 Spring batch 版本 3 0 6 RELEASE 查询 MySQL DB 中的某些数据 然后对其进行处理 使用详情 查询提供者是MySqlPagingQueryProvider 设置查询提供程序时 我将查询中的列之一指
  • R中的操作重载[重复]

    这个问题在这里已经有答案了 重载字符 的最直接方法是什么 我已经定义了 lt function paste sep str lt aa bb cc str aabbcc 但我不喜欢这种语法 我认为str lt aa bb cc 会更好 我正
  • Asp.Net Web API 路由未命中自定义操作

    这是我的代码 public class SecurityController ApiController GET api Security Current public HttpResponseMessage GetCurrent POST
  • x 和 x 之间的调用不明确

    我已经从 Visual Studio 切换到 Visual Studio Code 以在 Unity 中进行开发 从那时起我已经获得了超过 1000 个 某个班级成员和其他班级成员之间的通话不明确 在任何地方 它们都不是真正的错误 我认为
  • 更改输入值后,innerHTML 未更新(checked = true/false/"checked")

    简介 我需要获取parentElement中的信息 但是我需要更新输入信息 当我抓取parentElement的innerHTML时 在取消选中该框后 它仍然显示为选中状态 html 没有反映我用 javascript 所做的更改 我这里有
  • 如何修复我的 Python nix flake 中的“[Errno 13] 权限被拒绝:'_cmp.pyi'”?

    我正在尝试在 NixOS 上安装 jupyter book 我有这个薄片 description Introduction to Computational Literary Analysis a Textbook outputs self
  • Node.js 异步模块的复杂用例

    我已经开始使用 Node js 作为后端来执行不同的操作 例如数据库查询 API 调用等 我正在阅读有关 Node js 的内容Async并决定尝试一下 它一直适用于简单的用例 在这些用例中 我想要并行或串行执行一些任务 但不知何故 我遇到
  • Struts 2约定插件-上传超过2MB的文件

    如果我尝试上传超过 2 MB 的文件 则会出错 我在 apache 网站上发现 有两个单独的文件大小限制 第一个是 struts multipart maxSize 它来自 Struts 2 default properties 文件 此设