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

    文件上传

    1.导入jar包  (在WEB-INF下的lib中添加)

    commons-fileupload-1.3.3.jar

    commons-io-2.6.jar

    网址:http://commons.apache.org/fileupload  下载commons-fileupload-1.3.3-bin.zip

               http://commons.apache.org/io   下载  commons-io-2.6.bin.zip

    2.先创建登录页面login.jsp 在jsp页面添加(把所需要的类库导进jsp页面中) 

    <%@ page import="org.apache.commons.fileupload.*" %>  

     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3     <%@ page import="org.apache.commons.fileupload.*" %>
     4 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     5 <html>
     6 <head>
     7 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     8 <title>文件上传</title>
     9 </head>
    10 <body>
    11     <!--把表单提交到servlet Fileupload  -->
    12    <form action="${pageContext.request.contextPath }/Fileupload" enctype="multipart/form-data" method="post">
    13        
    14       <p>姓名:<input type="text" name=user></p>
    15       <p>选择 图片:<input type="file" name="nfile"></p>
    16       <p><input type="submit" value="提交"></p>
    17    </form>
    18 </body>
    19 </html>

    3.创建servlet类   Fileupload

    //防止乱码
     request.setCharacterEncoding("UTF-8");
       String name="";  //上传的名字
     String filename="";  //表单元素的name属性
    //创建FileItemFactory 和ServletFileUpload 对象
     FileItemFactory factory= new DiskFileItemFactory();
    ServletFileUpload upload=new ServletFileUpload(factory);
    
    try {
        //解析form表单所有文件
         List<FileItem> items=upload.parseRequest(request);
        Iterator<FileItem> iterator=items.iterator();
                          //循环判定当前FileItem是普通表单元素,还是文件域
         while (iterator.hasNext()) {   //以此处理每个文件
            FileItem next = iterator.next();
            if (next.isFormField()) {   //普通表单字段
            filename=next.getFieldName();  //表单字段的name属性
               if (filename.equals("user")) {                                                        

    request.setAttribute("name",next.getString("utf-8")); } }else { //文件表单字段 //在webcontext下创建的文件夹 存放你想上传的文件或图片 String rootpath=this.getServletContext().getRealPath("upload/"); filename=next.getName(); if(filename!=null&&!filename.equals("")){ File fullFile=new File(next.getName()); File saveFile=new File(rootpath, fullFile.getName()); next.write(saveFile); request.setAttribute("result", "上传成功!"); //上传文件的名称 request.setAttribute("file",filename ); } } } } catch (Exception e) { e.printStackTrace(); } request.getRequestDispatcher("/sussce.jsp").forward(request,response);

    4.创建上传成功页面 sussce.jsp (本次上传的为图片)

     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     4 <html>
     5 <head>
     6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     7 <title>上传图片</title>
     8 </head>
     9 <body>
    10   <%=request.getAttribute("result") %>
    11   <%=request.getAttribute("name") %>
    12   <img alt="图片" src="<%=request.getAttribute("file") %>"> 
    13 </body>
    14 </html>
  • 相关阅读:
    ionic 刷新页面的几种方法
    Highcharts中如何外部修改pointStart
    前端分页 思路
    快捷选时间
    获取今天,昨天,本周,上周,本月,上月时间
    angularjs 弹出框 $modal
    SQL 查找存在某内容的存储过程都有哪些
    LINQ to SQL和Entity Framework
    SQL模糊查询条件的四种匹配模式
    数据库--中文表名及字段名的优缺点
  • 原文地址:https://www.cnblogs.com/luoxionghenku/p/9015084.html
Copyright © 2011-2022 走看看