<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

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


    網站導航:
     
    主站蜘蛛池模板: 丁香亚洲综合五月天婷婷| 亚洲AV美女一区二区三区| 亚洲国产91精品无码专区| 亚洲午夜免费视频| 精品在线免费视频| 久久av免费天堂小草播放| 免费精品国产日韩热久久| 中文字幕亚洲综合久久菠萝蜜| 亚洲永久中文字幕在线| baoyu777永久免费视频| 国产免费人成视频在线观看| 777亚洲精品乱码久久久久久 | 中文字幕在线免费播放| 18禁超污无遮挡无码免费网站国产| 亚洲日韩涩涩成人午夜私人影院| 亚洲国产成人精品久久| 免费91麻豆精品国产自产在线观看 | 亚洲日本乱码一区二区在线二产线| 一级片在线免费看| 日韩一级在线播放免费观看| 亚洲综合激情六月婷婷在线观看| 免费成人福利视频| 97久久精品亚洲中文字幕无码| h视频在线免费看| 亚洲AV永久无码天堂影院| 曰批视频免费40分钟试看天天| 亚洲情综合五月天| 国产精品极品美女自在线观看免费| 日韩一品在线播放视频一品免费| 黄色片网站在线免费观看| 亚洲女同成av人片在线观看| 每天更新的免费av片在线观看| 亚洲国产欧美一区二区三区| 亚洲天堂中文字幕在线| 在线观看免费av网站| 久久亚洲精精品中文字幕| 久久免费看少妇高潮V片特黄| 亚洲精品无码不卡在线播放HE| 精品一区二区三区高清免费观看| 久久精品a亚洲国产v高清不卡| 全免费a级毛片免费**视频|