麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

文件上傳的完全攻略

2019-11-18 13:26:26
字體:
供稿:網(wǎng)友

  1. 你在Html頁面中寫下面的語句就可以把文件數(shù)據(jù)傳到servlet中。
  <%@page contentType="text/html;charset=gb2312"%>
  
  
  
  
  
  
  
  
  
  2. 在sevelt的代碼這樣寫的,它調(diào)用FileLoad這個類來做文件上傳。
    package fileload.com.lh;
  
  /**
  * 此處插入類型描述。
  * 創(chuàng)建日期:(2002-11-12 16:10:26)
  * @author:無是無非
  */
  import javax.servlet.http.*;
  import javax.servlet.*;
  import java.util.*;
  import java.io.*;
  import javax.servlet.ServletInputStream;
  public class FLServlet extends javax.servlet.http.HttpServlet {
  
  /**
  * FLServlet 構(gòu)造子注解。
  */
  public FLServlet() {
  super();
  }
  
  PRotected void doGet(
    javax.servlet.http.HttpServletRequest request,
    javax.servlet.http.HttpServletResponse response)
    throws javax.servlet.ServletException, java.io.IOException {
    doPost(request, response);
  
  }
  
  protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws javax.servlet.ServletException, java.io.IOException {
  
    //上傳文件
  
    FileLoad fl = new FileLoad();
    fl.prepareForFile(request);
  
  }
  }
  
  3. FileLoad類的代碼如下。
  package fileload.com.lh;
  
  /**
  * 此處插入類型描述。
  * 創(chuàng)建日期:(2002-11-12 16:14:10)
  * @author:無是無非
  */
  
  import javax.servlet.http.*;
  import javax.servlet.*;
  import java.util.*;
  import java.io.*;
  import javax.servlet.ServletInputStream;
  public class FileLoad {
  
    public ServletInputStream sis = null;
    public byte[] b = new byte[4096]; //字節(jié)流存放數(shù)組
    public String sourcefile = ""; //源文件名
    private int count = 0; //已傳輸文件數(shù)目
    public double size = Double.MAX_VALUE; //限制大小
    public String suffix = ""; //文件后綴名
    public String objectfilename = ""; //目標(biāo)文件名
    public String objectpath = "e://"; //目標(biāo)文件目錄
    public boolean sUCcessful = true;
  
  /**
  * FileLoad 構(gòu)造子注解。
  */
  public FileLoad() {
  super();
  }
  /**
  * 此處插入方法描述。
  * 創(chuàng)建日期:(2002-11-14 9:32:16)
  * @param response javax.servlet.http.HttpServletResponse
  */
  public void prepareForFile(HttpServletRequest request) {
    try {
      sis = request.getInputStream();
      int a = 0;
      int k = 0;
      String s = "";
      while ((a = sis.readLine(b, 0, b.length)) != -1)
  //判定是否從文件中讀到內(nèi)容
        {
        s = new String(b, 0, a);
        if ((k = s.indexOf("filename=")) != -1)
  //傳過來的每個文件中都有"filename="這段文字
          {
          s = s.substring(k + 10);
          k = s.indexOf("/"");
          s = s.substring(0, k); //得到了文件全部名稱
          sourcefile = s;
          k = s.lastIndexOf(".");
          suffix = s.substring(k + 1); //得到了文件的擴(kuò)展名
          transferFile();
        }
  
      }
    } catch (Exception ex) {
      ex.printStackTrace();
    }
  }
  /**
  * 此處插入方法描述。
  * 創(chuàng)建日期:(2002-11-14 9:16:19)
  * @param i int
  */
  public void transferFile() {
    String x = Long.toString(new java.util.Date().getTime());
    try {
      objectfilename = x + "." + suffix;
      FileOutputStream out = new FileOutputStream(objectpath + objectfilename);
  
      int a = 0;
      int k = 0;
      long hastransfered = 0; //標(biāo)示已經(jīng)傳輸?shù)淖止?jié)數(shù)
      String s = "";
      while ((a = sis.readLine(b, 0, b.length)) != -1) {
        s = new String(b, 0, a);
        if ((k = s.indexOf("Content-Type:")) != -1)
          break;
      }
      sis.readLine(b, 0, b.length);
      while ((a = sis.readLine(b, 0, b.length)) != -1) {
        s = new String(b, 0, a);
        if ((b[0] == 45)
          && (b[1] == 45)
          && (b[2] == 45)
          && (b[3] == 45)
          && (b[4] == 45))
          break;
        out.write(b, 0, a);
        hastransfered += a;
        if (hastransfered >= 1000) {
  
          System.out.println("文件超大了!!");
          successful = false;
          break;
        }
        ++count;
  
      }
      if (!successful) {
        //假如傳送文件沒有成功就刪除掉這個文件
        out.close();
        sis.close();
        String tem = objectpath + objectfilename;
        File del = new File(tem);
        del.delete();
      }
      out.close();
    } catch (IOException ioe) {
      System.out.println("IOException!!");
    }
  }
  }

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 久久精品视频亚洲 | 中国洗澡偷拍在线播放 | 欧美精品成人一区二区在线观看 | 午夜av男人的天堂 | 狠狠干天天| 涩涩99| 超碰人人做人人爱 | 国产美女视频一区二区三区 | 噜噜社 | 国产成人av在线播放 | 亚洲第一黄色网 | 全免费午夜一级毛片真人 | 欧美一级黄色影院 | 粉嫩蜜桃麻豆免费大片 | 日韩毛片毛片久久精品 | 婷婷久久网 | 久久久久久久免费视频 | 91成人在线免费视频 | 久久美女免费视频 | 国产精品久久av | 精品久久久久久国产 | 欧美毛片| 午夜神马电影网 | 热99在线视频 | 久久草在线视频国产 | 成人爱爱电影 | 9999久久久久久 | 男人的天堂视频网站 | 久久久久久69 | 色就色 综合偷拍区91网 | 久久国产一二三 | 欧美高清在线精品一区二区不卡 | 久久精品视频网址 | 久久99精品国产99久久6男男 | 在线观看美女av | 欧美性生活网站 | 亚洲国产精品久久久久久久久 | 国内精品久久久久影院不卡 | av电影免费播放 | 免费黄色在线电影 | 97中文|