黑马程序员技术交流社区

标题: javaweb文件上传Demo [打印本页]

作者: 冯超    时间: 2013-9-1 15:03
标题: javaweb文件上传Demo
                                                                                         jsp实习的文件上传案例
文件上传需要用到:common-fileupload和common-io这两个jar包。
客户端代码:
  1. <form action="<%=path %>/servlet/UploadFileService" method="post" enctype="multipart/form-data">
  2.                    文件:<input type="file" name="file"><br />
  3.                    <input type="submit" value="上传">
  4.              
  5.            </form>
复制代码
服务端代码:
  1. request.setCharacterEncoding("utf-8");
  2.         response.setCharacterEncoding("utf-8");
  3.         response.setContentType("text/html;charset=utf-8");
  4.          
  5.        //1.判断文件上传的是否没有子文件
  6.        boolean isMultipart = ServletFileUpload.isMultipartContent(request);
  7.        if(isMultipart) {
  8.           // 2得到存放文件的真实路径
  9.                String realpath = request.getSession().getServletContext().getRealPath("/files");
  10.                System.out.println(realpath);
  11.                File dir = new File(realpath);
  12.                if(!dir.exists()) {
  13.                        dir.mkdirs();
  14.                }
  15.               
  16.                FileItemFactory factory = new DiskFileItemFactory();
  17.                ServletFileUpload upload = new ServletFileUpload(factory);
  18.                upload.setHeaderEncoding("utf-8");
  19.                try {
  20.                       List<FileItem> items = upload.parseRequest(request);
  21.                       for(FileItem item : items) {
  22.                               if(item.isFormField()) {
  23.                                       String name = item.getFieldName();
  24.                                       String value = item.getString("utf-8");
  25.                                       System.out.println(name + "=" + value);
  26.                               }
  27.                               else {
  28.                                       item.write(new File(dir,item.getName().toString()));
  29.                               }
  30.                       }
  31.                } catch (Exception e) {
  32.                        // TODO Auto-generated catch bloc
  33.                        e.printStackTrace();
  34.                }
  35.               
  36.        } else {
  37.                System.out.println("该文件不能上传");
  38.        }
复制代码

作者: 许庭洲    时间: 2013-9-2 20:50
值得学习ing!
作者: 冯超    时间: 2013-9-2 21:55
许庭洲 发表于 2013-9-2 20:50
值得学习ing!

兄台 抬举了

作者: 1003771635    时间: 2014-5-26 19:27
终于找到想要的了,赞一个:handshake
作者: 冯超    时间: 2014-5-27 10:58
1003771635 发表于 2014-5-26 19:27
终于找到想要的了,赞一个

学了Struts2没有
  Struts2上传文件更爽,直接取得File文件内容 文件类型 文件名称,你只需要做的就是刚该File内容通过inputStream读取在通过outPutStream写入你要放置的文件夹就可以了!@
作者: 1003771635    时间: 2014-5-27 20:19
冯超 发表于 2014-5-27 10:58
学了Struts2没有
  Struts2上传文件更爽,直接取得File文件内容 文件类型 文件名称,你只需要做的就是刚 ...

哦,还没学
作者: qfch    时间: 2014-6-5 19:40
值得学习ing!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2