WD1X.COM - 问答一下,轻松解决,电脑应用解决专家
主板显卡CPU内存显示器
硬盘维修显卡维修显示器维修
注册表系统命令DOS命令Win8
存储光存储鼠标键盘
内存维修打印机维修
WinXPWin7Win11Linux
硬件综合机箱电源散热器手机数码
主板维修CPU维修键盘鼠标维修
Word教程Excel教程PowerPointWPS
网络工具系统工具图像工具
数据库javascript服务器
PHP教程CSS教程XML教程

用JSP编写文件上传

更新时间:2005-12-30 19:19 作者:45IT收集点击:


如果你曾用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  

}

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
你可能感兴趣的内容