我想在struts1应用程序中上传文件。
目前实现正在使用File,如下所示:
<html:file property="upload"/>
但如果从远程计算机访问应用程序,则不允许上传文件,因为此窗口小部件仅传递文件名而不是整个文件。
答案 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();
}
}