好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > JSP實現快速上傳文件的方法

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

熱門標簽:高德地圖標注樣式 杭州語音電銷機器人軟件 商洛電銷 北票市地圖標注 電銷機器人好賣么 地圖標注線上教程 電銷機器人是有一些什么技術 杭州ai語音電銷機器人功能 四川保險智能外呼系統商家

本文實例講述了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("\\");
    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程序設計有所幫助。

您可能感興趣的文章:
  • Jsp頁面實現文件上傳下載類代碼
  • JSP上傳文件到指定位置實例代碼
  • jsp中點擊圖片彈出文件上傳界面及預覽功能的實現
  • jsp實現文件上傳下載的程序示例
  • AJAX和JSP實現的基于WEB的文件上傳的進度控制代碼
  • jsp文件上傳與下載實例代碼
  • jsp 文件上傳瀏覽,支持ie6,ie7,ie8
  • jsp+ajax實現無刷新上傳文件的方法
  • 用JSP編寫文件上傳
  • JSP實用教程之簡易文件上傳組件的實現方法(附源碼)

標簽:西藏 云浮 貴州 宿州 紅河 江西 青島 丹東

巨人網絡通訊聲明:本文標題《JSP實現快速上傳文件的方法》,本文關鍵詞  JSP,實現,快速,上傳,文件,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《JSP實現快速上傳文件的方法》相關的同類信息!
  • 本頁收集關于JSP實現快速上傳文件的方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 国拍在线精品视频免费观看| 亚洲AV秘?无码一区坂井| 国产美女精品在线观看| a级免费毛片| 夜夜爱成人免费网站| 图片区小说区号综合区| 女人趴下脱了内裤光着视频| 挺进老师的紧窄的小肉六视频 | 成人国产综合| 五月天啪啪| 美女被爆羞羞网站视频下载 | japanese丰满HD人妻| 大尺度做爰呻吟舌吻情头| 国产高清视频a在线大全| 台湾永久lingerieshow舞蹈| 欧美videos巨大18free| 久久成人免费播放网站| 男男操菊花| 酒吧卫生间激情啪啪| 日日摸夜夜爽色婷婷97AV| 极品美女嫩模瑶瑶大尺度啪啪| 被强壮的公的侵犯伦理| 国产00学生粉嫩馒头在线播放 | 白丝老师用腿夹得我好爽视频AV | 国产精品99999乳液爆品| 女生扒开腿让男生桶| 欧美漏逼| 国产偷国产偷亚洲高清午夜| 日本大乳奶头晃奶gif动态视频| 中文字幕第二页在线| 日韩一区二区久久久久久| 暗呦小u女国产精品的发展趋势| 欧美色香蕉| 免费观看欧美一区二区三区| 国产美女精品自在线不卡| 男女车车好快的车车免费网站| 色一情| 吴宣仪下面好紧好湿好爽| 99re66热这里都是精品| 扒开内裤趴着女人打屁股动态图| 国产99久久九九精品的功能介绍|