httpfileuploadutil.java

来自「java数据库操作工具类」· Java 代码 · 共 98 行

JAVA
98
字号
package com.baosight.util;

import java.io.File;
import java.util.*;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.fileupload.DiskFileUpload;
import org.apache.commons.fileupload.FileItem;

/**
 * file upload util using org.apache.commons.fileupload
 * 
 * @author steven
 * 
 */
public class HttpFileUploadUtil {
	public static final String TEMP_UPLOAD_FOLDER_URL = "/upload";

	public static final String DEFAULT_ENCODING = "GBK";

	private String saveURL;

	private String formEncoding;

	public String getFormEncoding() {
		return formEncoding;
	}

	public void setFormEncoding(String formEncoding) {
		this.formEncoding = formEncoding;
	}

	public HttpFileUploadUtil() {
		saveURL = TEMP_UPLOAD_FOLDER_URL;
		formEncoding = DEFAULT_ENCODING;
	}

	public HashMap getFormField(HttpServletRequest request) throws Exception {
		HashMap rqh = new HashMap();
		DiskFileUpload upload = new DiskFileUpload();
		List items = upload.parseRequest(request);
		Iterator iter = items.iterator();
		while (iter.hasNext()) {
			FileItem item = (FileItem) iter.next();
			if (item.isFormField()) {
				String name = item.getFieldName();
				byte[] t = item.get();
				rqh.put(name, new String(t, formEncoding));
			}
		}// end while
		return rqh;
	}

	public List upload(HttpServletRequest request) throws Exception {
		List files = new ArrayList();
		String filePath = request.getSession().getServletContext().getRealPath(
				saveURL);
		DiskFileUpload upload = new DiskFileUpload();

		List items = upload.parseRequest(request);
		Iterator iter = items.iterator();
		while (iter.hasNext()) {
			FileItem item = (FileItem) iter.next();

			if (item.isFormField()) {
				continue;
			} else {
				String fixName = item.getName();
				int dot = fixName.indexOf(".");
				if(dot>0){
					fixName = fixName.substring(dot);
				}else{
					fixName="";
				}
				long ts = (new java.util.Date()).getTime();
				// long sizeInBytes = item.getSize();
				String fileName = filePath + File.separator + item.getFieldName() + "_"+ ts + fixName;
				File uploadedFile = new File(fileName);
				item.write(uploadedFile);
				files.add(fileName);
			}

		}// end while
		return files;

	}

	public String getSaveURL() {
		return saveURL;
	}

	public void setSaveURL(String urlPath) {
		this.saveURL = urlPath;
	}

}

⌨️ 快捷键说明

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