在Struts2中读取上传文件的内容

时间:2011-06-14 22:15:47

标签: java struts2

如何在execute()课程的Action方法中阅读上传文件的内容?我能够在服务器上传文件,但不知道如何阅读该文件的内容。

我们必须先将其保存在服务器上吗?或者我们可以直接阅读它吗?

3 个答案:

答案 0 :(得分:4)

选项1:创建servlet

我建议您使用apache commons file upload。此链接提供了有关如何使用FileItem处理上载文件(如果文件大小足够小,可将其写入磁盘或在内存中读取)的示例。可以找到另一个相关示例here

选项2:使用struts s:file标记

正如@BalusC在下面的评论中提到的,struts有一个使用s:file标记库的内置文件上传过程,并提供了使用它的教程here。本质上,文件上传到临时目录。但是,您可以通过在struts.multipart.saveDir文件中设置default.properties属性的值来覆盖它。此链接还提到使用Apache FileUtils来处理上传的文件,这对于任何文件I / O工作来说都是一个非常方便的库。

答案 1 :(得分:3)

http://java.dzone.com/articles/struts2-tutorial-part-67在这里,他解释了如何进行非常清晰和详细的上传

答案 2 :(得分:2)

以下是提供Struts2的标准方法,例如:

http://struts.apache.org/2.0.14/docs/file-upload.html

它非常简单和优雅(不需要混淆servletRequest.getRealPath("/")以及其他由hoss链接的示例。)

通过使用<s:file>标记(和适当的拦截器),Struts2可以完成所有脏工作并将(临时)上传的文件作为动作中的File字段提供给您;您可以像打开任何文件一样打开或移动,或其他任何内容。