一尘不染

在struts1中上传文件

jsp

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

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

<html:file property="upload"/>

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


阅读 208

收藏
2020-06-08

共1个答案

一尘不染

仅使用<html:file property="upload" />不会使您的应用程序上传文件。

为了支持上传功能,您的表单必须具有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();
  }
}
2020-06-08