7赞
222
当前位置:  开发笔记 > 后端 > 正文

用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)>
>
{
tr
y
{
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)
{ bre
a
k
;
>
}
}
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{ os.write(img[i]);



>
}
os.close();
}
catch(IOException e)
{return(false);}
>
>
return(true);

}
如果有不明白的发E-Mail:yymailbox@263.net.Bye

}





推荐阅读
devbox
乖乖雯莉_775
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有 京ICP备19059560号-4