在struts1中上传文件

时间:2011-11-24 10:05:54

标签: java jsp file-upload struts

我想在struts1应用程序中上传文件。

目前实现正在使用File,如下所示:

<html:file property="upload"/>

但如果从远程计算机访问应用程序,则不允许上传文件,因为此窗口小部件仅传递文件名而不是整个文件。

1 个答案:

答案 0 :(得分:2)

仅使用<html:file property="upload" /&gt;不会让您的申请上传文件。

要支持上传功能,您的表单必须包含enctype =“multipart / form-data”

<html:form action="fileUploadAction" method="post" enctype="multipart/form-data">
File : <html:file property="upload" /> 
<br/`>

<html:submit />
</html:form`> 

并在操作中从表单bean获取文件并按如下方式操作

YourForm uploadForm = (YourForm) form;
FileOutputStream outputStream = null;
FormFile file = null;
try {
  file = uploadForm.getFile();
  String path = getServlet().getServletContext().getRealPath("")+"/"+file.getFileName();
  outputStream = new FileOutputStream(new File(path));
  outputStream.write(file.getFileData());
}
finally {
  if (outputStream != null) {
    outputStream.close();
  }
}