<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 15,  comments - 5,  trackbacks - 0

    轉自http://blog.csdn.net/hudou_k/archive/2005/10/17/507960.aspx

      1package linkman.helper;
      2
      3import java.io.*;
      4import java.util.*;
      5import javax.servlet.http.HttpServletRequest;
      6import javax.servlet.http.HttpServletResponse;
      7import javax.servlet.ServletInputStream;
      8
      9public class UpLoadBean {
     10 private String SavePath = null;
     11 private String FileName = null;
     12 private String Sperator = null;
     13 private String ErrMsg = "正常返回";
     14 
     15 private byte[] bt = new byte[4096];
     16 private byte[] prebt = new byte[4096];
     17 private int t = -1;
     18 private long FileSize = -1;
     19 private boolean UserDefineFileName = false;
     20 
     21 /////////////////////////////////////////////////
     22 public UpLoadBean () {
     23  FileName = bringFileName ();
     24 }

     25 public UpLoadBean (String savepath) {
     26  SavePath = savepath;
     27  FileName = bringFileName ();
     28 }

     29 
     30 /////////////////////////////////////////////////
     31 // 文件名信息
     32 private String bringFileName () {
     33  Calendar dt = Calendar.getInstance ();
     34  String str = "" + dt.get (Calendar.YEAR) + dt.get (Calendar.MONTH) + dt.get (Calendar.DAY_OF_MONTH);
     35  str = str + dt.get (Calendar.HOUR) + dt.get (Calendar.MINUTE) + dt.get (Calendar.SECOND);
     36  return str;
     37 }

     38 
     39 public void setFileName (String filename) {
     40  FileName = filename;
     41  UserDefineFileName = true;
     42 }

     43 public String getFileName () {
     44  return FileName;
     45 }

     46 /////////////////////////////////////////////////
     47 // 上傳文件主程序
     48 public boolean UpLoad (HttpServletRequest request) throws Exception {
     49  if (SavePath == null{
     50   setErrorMessage ("未設置保存上傳文件的路徑");
     51   return false;
     52  }

     53  request.setCharacterEncoding("utf-8");
     54  ServletInputStream in = request.getInputStream ();
     55  ////////////////////////////////////////////
     56  // 獲取得一行的分隔標志
     57  t = in.readLine (bt, 0, bt.length);
     58  if (t != -1{
     59   Sperator = new String (bt, 0, t);
     60   Sperator = Sperator.substring (028);
     61   t = -1;
     62  }

     63  
     64  ////////////////////////////////////////////
     65  // 取擴展名并設定文件全名
     66  do {
     67   t = in.readLine (bt, 0, bt.length);
     68   String s = new String (bt, 0, t);
     69   int index = s.indexOf ("filename=\"");
     70   if (index != -1{
     71    s = s.substring (index + 10);
     72    index = s.indexOf ("\"");
     73    s = s.substring (0, index);
     74    index = s.lastIndexOf (".");
     75    if (!UserDefineFileName) {
     76     FileName = FileName + s.substring (index); // 設定文件全名
     77    }

     78    t = -1;
     79   }

     80  }
     while (t != -1);
     81  
     82  ////////////////////////////////////////////
     83  // 取文件內容
     84  FileOutputStream out = new FileOutputStream (SavePath + "\\" + FileName);
     85  
     86  t = in.readLine (bt, 0, bt.length);
     87  String s = new String (bt, 0, t);
     88  int i = s.indexOf ("Content-Type:");
     89  if (i == -1{
     90   setErrorMessage ("上傳的不是文件");
     91   return false;
     92  }
     else {
     93   in.readLine (bt, 0, bt.length); // 去掉一個空行
     94   t = -1;
     95  }

     96  
     97  boolean state = true;
     98  long trancsize = 0;
     99  try {
    100   t = in.readLine (bt, 0, bt.length);
    101   while (t != -1{
    102    s = new String (bt, 0, t);
    103    if (s.length () > 28{
    104     s = s.substring (028);
    105     if (s.equals (Sperator)) {
    106      break;
    107     }

    108    }

    109    
    110    /*
    111     if (bt[0] == 45 && bt[1] == 45 && bt[2] == 45 && bt[3] == 45 && bt[4] == 45) {
    112      break;
    113     }
    114    */

    115    if (FileSize != -1{
    116     if (trancsize >= FileSize) {
    117      throw new Exception ("上傳文件太大");
    118     }

    119    }

    120    out.write (bt, 0, t);
    121    trancsize += t;
    122    t = in.readLine (bt, 0, bt.length);
    123   }

    124  }
     catch (Exception e) {
    125   state = false;
    126   out.close ();
    127   setErrorMessage (e.getMessage ());
    128   File tmp = new File (SavePath, FileName);
    129   if (!tmp.delete()) {
    130    setErrorMessage (e.getMessage () + ",清除未完成");
    131   }

    132  }
     finally {
    133   if (state) {
    134    out.close ();
    135   }

    136   return state;
    137  }

    138 }

    139 /////////////////////////////////////////////////
    140 // 上傳文件錯誤信息
    141 public void setErrorMessage (String errormessage) {
    142  ErrMsg = errormessage;
    143 }

    144 public String getErrorMessage () {
    145  return ErrMsg;
    146 }

    147 /////////////////////////////////////////////////
    148 // 文件大小信息
    149 public void setFileSize (long size) {
    150  FileSize = size;
    151 }

    152 
    153 public long getFileSize () {
    154  return FileSize;
    155 }

    156}
    // end class
    157
    158
    posted on 2005-10-18 21:43 MudFish 閱讀(296) 評論(0)  編輯  收藏 所屬分類: JSP

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲一区二区精品视频| 亚洲高清无在码在线电影不卡| XXX2高清在线观看免费视频| 亚洲精品在线观看视频| 免费观看成人毛片a片2008| 鲁啊鲁在线视频免费播放| 亚洲AV无码成人网站久久精品大| 青青久在线视频免费观看 | 人成午夜免费视频在线观看| 99亚洲乱人伦aⅴ精品| 久久亚洲AV无码精品色午夜麻| 国产免费不卡v片在线观看| 成人特级毛片69免费观看| 亚洲精品人成在线观看| 国产jizzjizz免费看jizz| 一区二区三区四区免费视频| 亚洲Aⅴ在线无码播放毛片一线天| 亚洲精品成人片在线播放| 成人免费a级毛片无码网站入口 | 中文字幕亚洲综合久久菠萝蜜 | 日本亚洲欧洲免费天堂午夜看片女人员| 亚洲一区二区三区免费视频| 亚洲婷婷五月综合狠狠爱| 最近中文字幕mv免费高清视频7 | 亚洲黄色一级毛片| 国产av无码专区亚洲国产精品| aa级一级天堂片免费观看| 中文字幕无线码免费人妻| 亚洲av日韩综合一区久热| 亚洲日韩中文字幕天堂不卡| ZZIJZZIJ亚洲日本少妇JIZJIZ| 成人毛片免费观看| 四虎最新永久免费视频| 三年片免费观看大全国语| 亚洲AV无码一区二区三区牲色 | 亚洲日本一区二区三区在线| 在线免费观看国产视频| 无遮免费网站在线入口| 无码国产精品一区二区免费vr| 亚洲精品国产日韩无码AV永久免费网| 亚洲精品无码你懂的|