在 Struts 2 中一一上传文件

Posted

技术标签:

【中文标题】在 Struts 2 中一一上传文件【英文标题】:Upload file one by one in Struts 2 【发布时间】:2017-10-23 06:55:08 【问题描述】:

在我的 Struts 2 应用程序中。我使用<s:file> 进行文件上传。但是当我开始上传时,服务器 (Jboss) 使用最大带宽将所有文件上传到 temp 位置。

我要一个一个上传文件。

在 Struts 中是否有任何可能的方式来做到这一点或建议我任何其他可能的方式。

【问题讨论】:

【参考方案1】:

为每个文件上传输入控件创建一个按钮类型提交。用表单标签包裹它。每个文件的每个表格。确保您没有使用 multiple 属性。否则,它将允许每个输入使用多个文件。然后,当您提交属于单个按钮的表单时,您只提交了单个文件。单击按钮并提交表单后,您还可以删除输入控件。

<s:iterator begin="1" end="5"> 
 <s:form action="fileUpload" method="POST" enctype="multipart/form-data">
  Enter file: <input name="upload" type="file"/>
  <s:submit/>
 </s:form>
</s:iterator>

【讨论】:

感谢您的回复。就我而言,要上传数百个文件。因此,我不能为此使用多个文件上传。 例如:- 200 个用户,一个用户 100 个文件,如果所有用户同时尝试。可能存在网络问题。因此,我必须一个一个上传文件 此表单不允许您在提交一个文件进行上传时上传多个文件。几个按钮使用相同的目的地,但您可以禁用某些按钮以便响应通知您下载进度。完成下载后,您将向等待下一个按钮重新打开的用户发送响应。同时,您可以删除有效的按钮。 但是用户不能一一选择文件。因为他们有数百个文件要上传。我使用多个文件上传。我可以将用户选择的多个文件一一发送到服务器吗? 当然可以,只需编写将所有表单提交的代码即可。

以上是关于在 Struts 2 中一一上传文件的主要内容,如果未能解决你的问题,请参考以下文章

struts文件上传

struts文件上传

更改struts 2上传文件的默认错误消息

struts提供文件上传功能

利用Struts拦截器完成文件上传功能

struts2文件上传