知识大全 JSP如何实现文件上传

Posted 文件

篇首语:要真正了解一个人,需在不幸中考察他。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 JSP如何实现文件上传相关的知识,希望对你有一定的参考价值。

JSP如何实现文件上传  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  程序如下

>

  package linkman helper;

>

  import java io *;

>

  import java util *;

>

  import javax servlet

>

  import javax servlet

>

  import javax servlet ServletInputStream;

>

  public class UpLoadBean

>

  private String SavePath = null;

>

  private String FileName = null;

>

  private String Sperator = null;

>

  private String ErrMsg = "正常返回";

>

  private byte[] bt = new byte[ ];

>

  private byte[] prebt = new byte[ ];

>

  private int t = ;

>

  private long FileSize = ;

>

  private boolean UserDefineFileName = false;

>

  /////////////////////////////////////////////////

>

  public UpLoadBean ()

>

  FileName = bringFileName ();

>

  

>

  public UpLoadBean (String savepath)

>

  SavePath = savepath;

>

  FileName = bringFileName ();

>

  

>

  /////////////////////////////////////////////////

>

  // 文件名信息

>

  private String bringFileName ()

>

  Calendar dt = Calendar getInstance ();

>

  String str = "" + dt get (Calendar YEAR) + dt get (Calendar MONTH) + dt get (Calendar DAY_OF_MONTH);

>

  str = str + dt get (Calendar HOUR) + dt get (Calendar MINUTE) + dt get (Calendar SECOND);

>

  return str;

>

  

>

  public void setFileName (String filename)

>

  FileName = filename;

>

  UserDefineFileName = true;

>

  

>

  public String getFileName ()

>

  return FileName;

>

  

>

  /////////////////////////////////////////////////

>

  // 上传文件主程序

>

  public boolean UpLoad (HttpServletRequest request) throws Exception

>

  if (SavePath == null)

>

  setErrorMessage ("未设置保存上传文件的路径");

>

  return false;

>

  

>

  request setCharacterEncoding("utf ");

>

  ServletInputStream in = request getInputStream ();

>

  ////////////////////////////////////////////

>

  // 获取得一行的分隔标志

>

  t = in readLine (bt bt length);

>

  if (t != )

>

  Sperator = new String (bt t);

>

  Sperator = Sperator substring ( );

>

  t = ;

>

  

>

  ////////////////////////////////////////////

>

  // 取扩展名并设定文件全名

>

  do

>

  t = in readLine (bt bt length);

>

  String s = new String (bt t);

>

  int index = s indexOf ("filename=\\"");

>

  if (index != )

>

  s = s substring (index + );

>

  index = s indexOf ("\\"");

>

  s = s substring ( index);

>

  index = s lastIndexOf (" ");

>

  if (!UserDefineFileName)

>

  FileName = FileName + s substring (index); // 设定文件全名

>

  

>

  t = ;

>

  

>

   while (t != );

>

  ////////////////////////////////////////////

>

  // 取文件内容

>

  FileOutputStream out = new FileOutputStream (SavePath + "\\\\" + FileName);

>

  t = in readLine (bt bt length);

>

  String s = new String (bt t);

>

  int i = s indexOf ("Content Type:");

>

  if (i == )

>

  setErrorMessage ("上传的不是文件");

>

  return false;

>

   else

>

  in readLine (bt bt length); // 去掉一个空行

>

  t = ;

>

  

>

  boolean state = true;

>

  long trancsize = ;

>

  try

>

  t = in readLine (bt bt length);

>

  while (t != )

>

  s = new String (bt t);

>

  if (s length () > )

>

  s = s substring ( );

>

  if (s equals (Sperator))

>

  break;

>

  

>

  

>

  /*

>

  if (bt[ ] == && bt[ ] == && bt[ ] == && bt[ ] == && bt[ ] == )

>

  break;

>

  

>

  */

>

  if (FileSize != )

>

  if (trancsize >= FileSize)

>

  throw new Exception ("上传文件太大");

>

  

>

  

>

  out write (bt t);

>

  trancsize += t;

>

  t = in readLine (bt bt length);

>

  

>

   catch (Exception e)

>

  state = false;

>

  out close ();

>

  setErrorMessage (e getMessage ());

>

  File tmp = new File (SavePath FileName);

>

  if (!tmp delete())

>

  setErrorMessage (e getMessage () + " 清除未完成");

>

  

>

   finally

>

  if (state)

>

  out close ();

>

  

>

  return state;

>

  

>

  

>

  /////////////////////////////////////////////////

>

  // 上传文件错误信息

>

  public void setErrorMessage (String errormessage)

>

  ErrMsg = errormessage;

>

  

>

  public String getErrorMessage ()

>

  return ErrMsg;

>

  

>

  /////////////////////////////////////////////////

>

  // 文件大小信息

>

  public void setFileSize (long size)

>

  FileSize = size;

>

  

>

  public long getFileSize ()

>

  return FileSize;

>

  

> cha138/Article/program/Java/JSP/201311/20210

相关参考