我正在尝试使用Struts 2
开发一个带文件上传的应用程序。
我们如何从不同位置上传文件(从一个位置选择一个文件,再次单击文件输入并从另一个位置选择文件)?完成此操作后,只从文件标记中获取最后选择的文件。
我可以使用file标签的多个属性从同一位置上传多个文件。如何实现从不同位置上传文件?
答案 0 :(得分:0)
如果使用绑定到操作属性的多个输入控件,则可以实现。
<s:form action="doUpload" method="post" enctype="multipart/form-data">
<s:file name="upload" label="File1"/>
<s:file name="upload" label="File2"/>
<s:submit/>
</s:form>
如果您使用的是HTML5,则可以将动态属性添加到Struts s:file 代码multiple
<s:form action="doUpload" method="post" enctype="multipart/form-data">
<s:file name="upload" multiple="multiple" />
<s:submit/>
</s:form>
如果要将位置添加到文件输入控件,请参阅Remember and Repopulate File Input
与HTML5 answer
相关当前/未来/ HTML5兼容的浏览器将始终预先安装 获取文件输入时,字符串:
c:\fakepath\
到filename
值除此之外,它们只会返回第一个filename
(来自a 所选文件列表)如果文件输入接受多个文件 并且用户已选择多个文件。