亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

JSP實現快速上傳文件的方法

2020-07-27 21:30:33
字體:
來源:轉載
供稿:網友

本文實例講述了JSP實現快速上傳文件的方法。分享給大家供大家參考。具體如下:

這里演示JSP不使用第三方庫,實現快速上傳文件的功能

1. FileUpload.java:

package FileUpload;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileOutputStream;import javax.servlet.ServletInputStream;/** *  *//** * @author Qch *  */public class FileUpload{  ServletInputStream in=null;  String fpath="C://";  public FileUpload()  {    fpath="C://";    in=null;  }  public void setInputStream(ServletInputStream in)  {    this.in=in;  }  public void setFpath(String p)  {    this.fpath=p;  }  public String getFpath()  {    return fpath;  }  public String getParameter()  {     String r=null;    try    {      r=getParameter(in);    }    catch (Exception e)    {      e.printStackTrace();    }    return r;  }  public long getFileUpload()  {    long r=-1;    try    {      r=getFileUpload(in,fpath);    }    catch (Exception e)    {      e.printStackTrace();    }    return r;  }  public String getParameter(ServletInputStream in)// 只能按順序提取      throws Exception  {    int l = 0;    byte[] b = new byte[1024];    l = in.readLine(b, 0, b.length);// 依次是讀取屬性的開始符、名稱、屬性值的類型、屬性的值    String si = new String(b);    if (si.startsWith("----------------------------"))    {// 表示是從開始符開始讀,否則應為剛讀取文件后的一個屬性,此時應少讀一次      l = in.readLine(b, 0, b.length);    }    l = in.readLine(b, 0, b.length);    l = in.readLine(b, 0, b.length);    String value = new String(b, 0, l);    return value;  }  public long getFileUpload(ServletInputStream in, String fpath)// 需要提供輸入流和存儲路徑      throws Exception  {    // out.println("文件信息:<br>");    long begin = System.currentTimeMillis();// 傳送時間計時開始    int l = 0;    byte[] b = new byte[1024];    l = in.readLine(b, 0, b.length);    String sign = new String(b, 0, l);// eg.-----------------------------7d9dd29630a34    l = in.readLine(b, 0, b.length);    String info = new String(b, 0, l);// eg.Content-Disposition:form-data;    // name="file";    l = in.readLine(b, 0, b.length);    // String type=new    // String(b,0,l);//eg.Content-Type:application/octet-stream(程序文件)    l = in.readLine(b, 0, b.length);    // String nulll=new String(b,0,l);//此值應為空    int nIndex = info.toLowerCase().indexOf("filename=/"");    int nLastIndex = info.toLowerCase().indexOf("/"", nIndex + 10);    String filepath = info.substring(nIndex + 10, nLastIndex);    int na = filepath.lastIndexOf("http://");    String filename = filepath.substring(na + 1);    // out.println("文件絕對路徑:"+filepath+"<br>");    // out.println("文件名:"+filename+"<br><br>");    String path=fpath + filename;    File fi = new File(path);// 建立目標文件    if (!fi.exists()&&!fi.createNewFile())      return -2;    BufferedOutputStream f = new BufferedOutputStream(new FileOutputStream(        fi));    while ((l = in.readLine(b, 0, b.length)) > 0)    {      if (l == sign.length())      {        String sign1 = new String(b, 0, sign.length());        // out.println(sign1+"<br>");        if (sign1.startsWith(sign))// 比對是否文件已傳完          break;      }      f.write(b, 0, l);      f.flush();    }    f.flush();    f.close();    long end = System.currentTimeMillis();// 傳送時間計時結束    // out.println("上傳文件用時:"+(end-begin)+"毫秒<br>");    return end - begin;  }}

2. submitFile.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%><%  String path = request.getContextPath();  String basePath = request.getScheme() + "://"      + request.getServerName() + ":" + request.getServerPort()      + path + "/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <base href="<%=basePath%>">    <title>My JSP 'submitFile.jsp' starting page</title>    <meta http-equiv="pragma" content="no-cache">    <meta http-equiv="cache-control" content="no-cache">    <meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">    <meta http-equiv="description" content="This is my page">    <!--  <link rel="stylesheet" type="text/css" href="styles.css">  -->    <script language="javascript">      function check()      {        if (document.form2.name.value==""){          alert("姓名不能為空??!");          document.form2.name.focus();          return false;        }        if (document.form2.file.value==""){          alert("文件不能為空??!");          return false;        }        return true;      }    </script>  </head>  <body>    <br>    <form method="post" name="form2" enctype="MULTIPART/FORM-DATA"      action="AnswerFile.jsp">      <br>      <p align="center">        &nbsp;        <br>      </p>      <table width="530" border="1" bgcolor="#c0c0c0" align="center"        height="91">        <tbody>          <tr>            <td valign="top" align="right">              姓名              <br>            </td>            <td valign="top">              <input type="text" name="name">            </td>          </tr>          <tr>            <td align="right">              &nbsp; 文件            </td>            <td align="left">              &nbsp;              <input type="file" name="file">            </td>          </tr>          <tr>            <td valign="top" align="right">              文件類型              <br>            </td>            <td valign="top" align="left">              <select size="1" name="leixing">                <option selected value="作業">                  作業                </option>                <option value="課程設計">                  課程設計                </option>                <option value="論文">                  論文                </option>              </select>            </td>          </tr>          <tr>            <td align="right">              <input type="Submit" value="上傳" name="button2" onclick="return(check());">            </td>            <td align="left">              &nbsp;              <input type="reset" value="重置" name="button3">            </td>          </tr>        </tbody>      </table>      <p>        &nbsp;        <br>        <br>        &nbsp;      </p>    </form>  </body></html>

3. AnswerFile.jsp:



<%@ page language="java" import="java.util.*,java.io.*"  pageEncoding="GB18030"%><%  String path = request.getContextPath();  String basePath = request.getScheme() + "://"      + request.getServerName() + ":" + request.getServerPort()      + path + "/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <base href="<%=basePath%>">    <title>My JSP 'AnswerFile.jsp' starting page</title>    <meta http-equiv="pragma" content="no-cache">    <meta http-equiv="cache-control" content="no-cache">    <meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">    <meta http-equiv="description" content="This is my page">    <!--  <link rel="stylesheet" type="text/css" href="styles.css">  -->  </head>  <body>    <jsp:useBean id="upload" scope="session" class="FileUpload.FileUpload"/>    <jsp:setProperty name="upload" value="C://" property="fpath"/>    <%      ServletInputStream in = request.getInputStream();      upload.setInputStream(in);      String nam = upload.getParameter();      out.println("姓名:" + nam + "<br><br>");      long time = upload.getFileUpload();      out.println("文件上傳完畢,總共耗時:" + time + "毫秒<br>");      String leixing = upload.getParameter();      out.println("文件類型:" + leixing + "<br>");      in.close();    %>    <br>    <div align="right">      <a href="index.jsp">回到首頁</a>    </div>  </body></html>

希望本文所述對大家的JSP程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品国产一区二区三区久久狼5月| 亚洲aa中文字幕| 欧美在线观看日本一区| 国内精品久久久久久影视8| 国产综合视频在线观看| 欧美日韩美女在线| 国产精品国产三级国产专播精品人| 精品亚洲一区二区三区在线观看| 国产精品久久久久久久久久久久久久| 清纯唯美日韩制服另类| 91久久久久久国产精品| 亚洲丁香久久久| 欧美激情一级二级| 国产99在线|中文| 亚洲成人性视频| 在线观看国产精品91| 久久亚洲综合国产精品99麻豆精品福利| 亚洲精品一区av在线播放| 日韩经典中文字幕| 成人a级免费视频| 国产精品一久久香蕉国产线看观看| 日韩三级影视基地| 亚洲自拍在线观看| 亚洲精品91美女久久久久久久| 欧美日韩视频免费播放| 日韩在线观看视频免费| 2019中文字幕在线| 亚洲一区二区久久久久久久| 韩国一区二区电影| 国产国语videosex另类| 日韩免费在线免费观看| 欧美高清不卡在线| 97av在线播放| 美女999久久久精品视频| 亚洲欧洲日本专区| 日韩在线视频一区| 日韩av在线导航| 久久精品国产亚洲7777| 日韩在线观看av| 亚洲国产精品久久久久久| 久久97精品久久久久久久不卡| 91成人天堂久久成人| 亚洲欧洲黄色网| 久久精品亚洲热| 成人中心免费视频| 亚洲色图欧美制服丝袜另类第一页| 色悠久久久久综合先锋影音下载| 欧美在线视频观看免费网站| 在线观看国产精品淫| 久久久精品美女| 国产日韩欧美在线看| 国产精品一二三视频| 欧美一区二粉嫩精品国产一线天| 亚洲精品成人久久久| 久久久久国产精品一区| 久久影院在线观看| 中文字幕精品国产| 亚洲第一av在线| 一区二区三区国产在线观看| 777国产偷窥盗摄精品视频| 日韩动漫免费观看电视剧高清| 日韩精品一区二区视频| 亚洲影院高清在线| 欧美成人免费小视频| 国产成人精品综合久久久| 国产精品视频一| 久久国产精品久久国产精品| xxxxx91麻豆| 97在线观看视频国产| 国产精品久久久久久久久久新婚| 91亚洲国产精品| 懂色av影视一区二区三区| 亚洲人永久免费| 国产成人涩涩涩视频在线观看| 国产精品va在线播放我和闺蜜| 91精品在线国产| 91国产在线精品| 成人国产精品免费视频| 亚洲乱亚洲乱妇无码| 久久久精品久久| 亚洲午夜女主播在线直播| 青草青草久热精品视频在线观看| 伊人av综合网| 影音先锋欧美精品| 久久男人资源视频| 中文字幕精品在线| 国产精品视频免费在线| 亚洲精品电影在线| 国产精品视频白浆免费视频| 欧美视频二区36p| 久久av资源网站| 日韩av成人在线观看| 影音先锋欧美精品| 中文字幕一区二区三区电影| 91青草视频久久| 日韩精品免费看| 国产精品丝袜高跟| 亚洲免费成人av电影| 久久资源免费视频| 国产精品久久不能| 亚洲自拍在线观看| 国产精品一区二区久久国产| 日韩中文字幕在线免费观看| 亚洲少妇激情视频| 久久久久久久成人| 亚洲欧美中文日韩在线v日本| 在线观看国产精品淫| 欧美精品一区在线播放| 97人人做人人爱| 欧美精品激情在线观看| 国产精彩精品视频| 久久综合国产精品台湾中文娱乐网| 精品国产1区2区| 欧美精品久久久久| 日韩欧美综合在线视频| 91精品国产91久久久久久不卡| 日韩av在线直播| 国自产精品手机在线观看视频| 一本色道久久88综合亚洲精品ⅰ| 欧美激情在线播放| 久久久视频免费观看| 992tv成人免费视频| 国产suv精品一区二区| 成人444kkkk在线观看| 日韩欧美精品在线观看| 成人在线一区二区| 欧美激情国产日韩精品一区18| 欧美网站在线观看| 欧美国产欧美亚洲国产日韩mv天天看完整| 一二美女精品欧洲| 精品国内亚洲在观看18黄| 热久久免费国产视频| 91精品中文在线| 岛国av午夜精品| 亚洲电影在线观看| 亚洲香蕉伊综合在人在线视看| 亚洲成人在线视频播放| 亚洲成人999| 国产精品一区二区电影| 精品无人国产偷自产在线| 亚洲一区二区三区成人在线视频精品| 日韩中文字幕在线免费观看| 国产精品第10页| 欧美www视频在线观看| 日韩美女中文字幕| 日韩在线视频中文字幕| 韩国三级日本三级少妇99| 久久精品一本久久99精品| 中日韩美女免费视频网站在线观看| 久久精品视频播放| 欧美日韩免费看| 78色国产精品| 欧美日韩国产激情| 亚洲黄色免费三级| 亚洲国产91色在线| 久热精品视频在线| 亚洲美女激情视频| 福利一区视频在线观看| 欧美日韩亚洲高清| 欧美一级片久久久久久久| 亚洲国产精品久久久久秋霞蜜臀| 一区二区三区回区在观看免费视频| 精品久久久久久久久久久久久久| 亚洲**2019国产|