使用org.apache.struts.upload.FormFile类上传文件
<form action="upload.do" method="post" enctype="multipart/form-data"><input type="file" name="file" /><input type="submit" value="Submit" /></form><?xml version="1.0" encoding="GB18030"?><web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"version="2.4"xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"><servlet><servlet-name>action</servlet-name><servlet-class>org.apache.struts.action.ActionServlet</servlet-class><init-param><param-name>config</param-name><param-value>/WEB-INF/struts-config.xml</param-value></init-param><init-param><param-name>debug</param-name><param-value>3</param-value></init-param><init-param><param-name>detail</param-name><param-value>3</param-value></init-param><load-on-startup>0</load-on-startup></servlet><servlet-mapping><servlet-name>action</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping></web-app>
<?xml version="1.0" encoding="GB18030"?><!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"><struts-config><form-beans><form-bean name="uf" type="UploadForm" /></form-beans><action-mappings><action path="/upload" type="UploadAction" name="uf" scope="request"input="/upload_form.html"></action></action-mappings></struts-config>
import org.apache.struts.action.ActionForm;import org.apache.struts.upload.FormFile;public class UploadForm extends ActionForm {private FormFile file;public FormFile getFile() {return file;}public void setFile(FormFile file) {this.file = file;}}
import java.io.BufferedOutputStream;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.apache.struts.upload.FormFile;public class UploadAction extends Action {@Overridepublic ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception {upload(((UploadForm) form).getFile());return mapping.getInputForward();}private void upload(FormFile formFile) throws IOException {InputStream inputStream = getInputStream(formFile);File file = new File(getRealPath("upload"), getFileName(formFile));OutputStream outputStream = new FileOutputStream(file);BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(outputStream);int b = -1;while ((b = inputStream.read()) != -1) {bufferedOutputStream.write(b);}bufferedOutputStream.flush();bufferedOutputStream.close();outputStream.close();inputStream.close();}private InputStream getInputStream(FormFile file)throws FileNotFoundException, IOException {return file.getInputStream();}private String getRealPath(String path) {return getServlet().getServletContext().getRealPath(path);}private String getFileName(FormFile file) {return file.getFileName();}}
页:
[1]