使用Struts1实现文件上传(一)
步骤一:创建用于文件上传的JSP页面
- <html:form
enctype="multipart/form-data" action="/fileUpload" method="post"> -
<html:file property="uploadFile"></html:file> -
<html:submit>Upload File</html:submit> - </html:form>
步骤二:创建用于承载数据的ActionForm
- import
org.apache.struts.upload.FormFile; -
- private
FormFile uploadFile; -
public FormFile getUploadFile() { -
return uploadFile; - }
-
public void setUploadFile(FormFile uploadFile) { -
this.uploadFile = uploadFile; - }
步骤三:创建用于处理上传的Action
- public
ActionForward execute(ActionMapping mapping, ActionForm form, -
HttpServletRequest request, HttpServletResponse response) { -
-
FileUploadForm fileUploadForm = (FileUploadForm) form; -
FormFile uploadFile = fileUploadForm.getUploadFile(); -
try { -
FileOutputStream outer = new FileOutputStream("d:\\"+uploadFile.getFileName()); -
byte[] buffer = uploadFile.getFileData(); -
outer.write(buffer); -
outer.close(); -
uploadFile.destroy(); -
} catch (Exception e) { -
e.printStackTrace(); -
} -
return null; -
- }
步骤四:配置文件上传大小
- <controller
maxFileSize="8K"></controller>
- The
content of element type "struts-config" must match "(display-name?,description?,form-beans?,global-exceptions?,global-forwards?,action-mappings?,controller?,message-resources*,plug-in*)".
- <init-param>
-
<param-name>path</param-name> -
<param-value>d:\uploadFolder\</param-value> - </init-param>
- //以下两行代码任选其一;
- String
path = this.getServlet().getInitParameter("uploadpath"); - String
path = this.getServlet().getServletConfig().getInitParameter("uploadpath")