上传图片

来源:互联网 发布:读心神探知乎 编辑:程序博客网 时间:2024/06/06 17:13
//servletrequest.setCharacterEncoding("UTF-8");InputStream input = null;FileOutputStream output = null;// 创建磁盘工厂对象DiskFileItemFactory factory = new DiskFileItemFactory();// 对磁盘工厂对象的处理工具ServletFileUpload upload = new ServletFileUpload(factory);// 设置上传大小,最大3Mupload.setFileSizeMax(1024 * 1024 * 3);// 从request中转换成文件对象列表List<FileItem> items = upload.parseRequest(request);for (FileItem item : items) {    // 判断是否是普通表单数据    if (item.isFormField()) {        // System.out.println(item.getFieldName());        // //文件名称设置编码格式,否则乱码        // System.out.println(item.getString("UTF-8"));        // System.out.println(item.getContentType());        // System.out.println(item.getSize());    } else {        // 得到上传的名字        String filename = item.getName();        System.out.println(filename);        // 处理上传文件路径        if (filename != null) {            filename = FilenameUtils.getName(filename);// 得到文件名+后缀            if(filename.lastIndexOf(".")==-1){                request.setCharacterEncoding("UTF-8");                PrintWriter out = response.getWriter();                out.println("您输入的图片为空");                return;            }        String type = filename.substring(filename.lastIndexOf("."));        System.out.println(type);        // 解决文件同名的问题        filename = UUID.randomUUID() + "_" + filename;        // 设置时间路径的目录        SimpleDateFormat dateFormate = new SimpleDateFormat("yyyy-MM-dd");        String datePath = dateFormate.format(new Date());        File file = new File(this.getServletContext().getRealPath("/WEB-INF/" + datePath));        System.out.println(file);        if (!file.exists()) {            file.mkdirs();        }        // 上传到服务器        input = item.getInputStream();        output = new FileOutputStream(file + "/" + filename);        int len = 0;        byte[] b = new byte[1024];        while ((len = input.read(b)) != -1) {            output.write(b, 0, len);        }    }   }//页面<form action="up" enctype="multipart/form-data" method="post">    名称:<input type="text" name="fileName"/><p/>    图片:<input type="file" name="fileDate"/><p/>    图片:<input type="file" name="fileDate2"/>    <input type="submit" value="提交"/></form>