htmlfileaction.java

来自「平时练习所写的代码。感觉用得很多。希望它可以给你带来帮助。」· Java 代码 · 共 67 行

JAVA
67
字号
package htmltaglibs.actions;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.InputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.FileOutputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileNotFoundException;

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.ActionMapping;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ForwardingActionForward;
import org.apache.struts.upload.FormFile;
import org.apache.struts.util.MessageResources;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;


import htmltaglibs.forms.HtmlFileForm;

public class HtmlFileAction extends Action {

	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {

		String dir = request.getRealPath("/upload");
		
		System.out.println(dir);
		File file2 = new File(dir);
		if(!file2.exists()) {
			file2.mkdir();
		}
		HtmlFileForm hff = (HtmlFileForm) form;

		// org.apache.struts.upload.FormFile contains the uploaded file
		FormFile file = hff.getFile();

		
		String fname = file.getFileName();

		InputStream streamIn = file.getInputStream();
		OutputStream streamOut = new FileOutputStream(dir + "/" + fname);

		int bytesRead = 0;
		byte[] buffer = new byte[8192];
		while ((bytesRead = streamIn.read(buffer, 0, 8192)) != -1) {
			streamOut.write(buffer, 0, bytesRead);
		}

		streamOut.close();
		streamIn.close();
		file.destroy();

		return mapping.findForward("success");

	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?