保存为文件
import java.io.File; import java.io.UnsupportedEncodingException; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileUploadException; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; public class FileUpload implements Dtfacade { public String doIt(HttpServletRequest request, HttpServletResponse response) { try { request.setCharacterEncoding("utf-8"); } catch (UnsupportedEncodingException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } // 得到存放上传文件的目录真实路径 String filePath = "E:\\upload"; // 检查表单是否为multipart/form-data boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (!isMultipart) { System.out.println("表单参数不正确"); return null; } // 失败 DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); // upload.setSizeMax(10* 1024 * 1024); // 文件最大尺寸,设为-1表示不受限制 // factory.setSizeThreshold(256); // 缓存大小,设为-1表示不受限制 // factory.setRepository(new File("D:\\temp")); // 设置一个临时目录,默认用容器分配的 List<FileItem> items = null; // 解析请求得到所有的文件 try { items = upload.parseRequest(request); } catch (FileUploadException e) { e.printStackTrace(); } for (FileItem item : items) { // 依次处理每个上传的文件 if (!item.isFormField()) { // 检查是否为File输入域 File fullFile = new File(item.getName()); File uploadedFile = new File(filePath, fullFile.getName()); try { item.write(uploadedFile); } catch (Exception e) { e.printStackTrace(); } } } return "{success:true,msg:'sample'}"; } }
保存到数据库BLOB

import java.io.File; import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import oracle.sql.BLOB; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileUploadException; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; import org.hibernate.Hibernate; import org.hibernate.Session; import org.hibernate.Transaction; import com.fy.ah.mng.entity.Dc03; import com.fy.ah.mng.web.util.HBUtil; public class FileUploadSvBlob implements Dtfacade { public String doIt(HttpServletRequest request, HttpServletResponse response) { Session session=HBUtil.getHBSession(); try { request.setCharacterEncoding("utf-8"); } catch (UnsupportedEncodingException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } // 得到存放上传文件的目录真实路径 String filePath = "E:\\upload"; // 检查表单是否为multipart/form-data boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (!isMultipart) { return null; } // 失败 DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); // upload.setSizeMax(10* 1024 * 1024); // 文件最大尺寸,设为-1表示不受限制 // factory.setSizeThreshold(256); // 缓存大小,设为-1表示不受限制 // factory.setRepository(new File("D:\\temp")); // 设置一个临时目录,默认用容器分配的 List<FileItem> items = null; // 解析请求得到所有的文件 try { items = upload.parseRequest(request); } catch (FileUploadException e) { e.printStackTrace(); } Transaction tr=session.beginTransaction(); for (FileItem item : items) { // 依次处理每个上传的文件 if (!item.isFormField()) { // 检查是否为File输入域 File fullFile = new File(item.getName()); File uploadedFile = new File(filePath, fullFile.getName()); try { InputStream is=item.getInputStream(); Dc03 d3=new Dc03(); d3.setDoc001(1); d3.setDoc031(BLOB.getEmptyBLOB()); session.save(d3); d3.setDoc031(Hibernate.createBlob(is)); session.save(d3); } catch (Exception e) { e.printStackTrace(); } } } tr.commit(); session.close(); return "ok"; } }