程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> 如何用JSP編寫文件上傳

如何用JSP編寫文件上傳

編輯:關於JSP

     

    如果你曾用VB編寫文件上傳的組件的話,那麼用JAVA編寫文件上傳的JAVABEAN十分容易。

    下面的例子只是一個簡版

    package yuanyifileup;

    import java.io.*;

    import java.util.*;

    import javax.servlet.*;

    import javax.servlet.http.*;

    import javax.servlet.jsp.PageContext;

    public class yuanyifileup

    {

    private ServletRequest request;

    private ServletResponse response;

    private ServletConfig config;

    ServletInputStream DATA;

    int FormSize;

    File f1;

    FileOutputStream os;

    DataInputStream is;

    String filename;

    byte[] b;

    byte t;

    boolean flag=false;

    public yuanyifileup()

    { }

    public void initialize(ServletConfig config,HttpServletRequest request,HttpServletResponse response) throws IOException

    {

    this.request=request;

    this.response=response;

    this.config=config;

    DATA = request.getInputStream();

    FormSize=request.getContentLength();

    }

    public void initialize(PageContext pageContext) throws IOException

    {

    request=pageContext.getRequest();

    response=pageContext.getResponse();

    config=pageContext.getServletConfig();

    DATA = request.getInputStream();

    FormSize=request.getContentLength();

    }

    public boolean setFilename(String s)

    {

    try

    {

    File f1=new File(s);

    os=new FileOutputStream(f1);

    }

    catch(IOException e)

    {return(false);}

    return(true);

    }

    public void getByte()

    {

    int i=0;

    try

    {

    is=new DataInputStream(DATA);

    b=new byte[FormSize];

    while (true)

    {

    try

    {

    t=is.readByte();

    b[i]=t;

    i++;

    }

    catch(EOFException e)

    { break;}

    }

    is.close();}

    catch(IOException e)

    {}

    }

    public boolean save()

    {

    int i=0,start1=0,start2=0;

    String temp="";

    if (!flag)

    {

    getByte();

    flag=true;

    }

    try

    {

    temp=new String(b,"ISO8859_1");

    }

    catch(UnsupportedEncodingException e)

    {return(false);}

    start1=temp.indexOf("image/");

    temp=temp.substring(start1);

    start1=temp.indexOf("rnrn");

    temp=temp.substring(start1+4);

    start2=temp.indexOf(";rn");

    if (start2!=-1)

    {

    temp=temp.substring(0,start2);

    }

    try

    {

    byte[] img=temp.getBytes("ISO8859_1");

    for (i=0;i<img.length;i++)

    { os.write(img[i]); }

    os.close();

    }

    catch(IOException e)

    {return(false);}

    return(true);

    }

    如果有不明白的發E-Mail:[email protected]

    }

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved