zoukankan      html  css  js  c++  java
  • 文件上传例子

    保存为文件

    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

    View Code
    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";
        }
    
    
    }
  • 相关阅读:
    CentOS-Docker安装RabbitMQ(单点)
    CentOS-关闭防火墙和禁用安全策略
    CentOS-Docker搭建VeryNginx
    CentOS7-磁盘扩容(LVM-非空目录拓展卷空间大小)
    (六十二)Activity的启动模式(转载自http://blog.csdn.net/android_tutor/article/details/6310015)
    (一)关于SWT程序的基本架构,如何使用控件以及使用Image,Font,Color等图形资源内容
    (六十一)eclipse老是卡顿的问题解决办法
    (六十一)Activity启动模式 及 Intent Flags 与 栈 的关联分析(转载自:http://blog.csdn.net/vipzjyno1/article/details/25463457)
    (六十)工具方法---隐藏软键盘
    iOS 语音朗读
  • 原文地址:https://www.cnblogs.com/alliswell/p/3035103.html
Copyright © 2011-2022 走看看