欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

用jsp编写文件上载

程序员文章站 2024-02-25 09:23:58
如果你曾用vb编写文件上传的组件的话,那么用java编写文件上传的javabean十分容易。下面的例子只是一个简版package yuanyifileup;import j...
如果你曾用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("\r\n\r\n");

temp=temp.substring(start1+4);
start2=temp.indexof(";\r\n");
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:yymailbox@263.net.bye

}