推荐个上传文件的javabean给大家

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

推荐个上传文件的Javabean给大家

import java.io.*;

import javax.servlet.ServletInputStream;

import javax.servlet.http.HttpServletRequest;

public class transfer_multi {

public String[] sourcefile = new String[255];//源文件名

public String objectpath = "c:/";//目标文件目录

public String[] suffix = new String[255];//文件后缀名

public String[] objectfilename = new String[255];//目标文件名

public ServletInputStream sis = null;//输入流

public String[] description = new String[255];//描述状态

public long size = 100*1024;//限制大小

private int count = 0;//已传输文件数目

private byte[] b = new byte[4096];//字节流存放数组

private boolean sUCcessful = true;

public void setSourcefile(HttpServletRequest request) throws java.io.IOException{

sis = request.getInputStream();

int a = 0;

int k = 0;

String s = "";

while((a = sis.readLine(b,0,b.length)) != -1){

s = new String(b,0,a);

if((k = s.indexOf("filename=")) != -1){

s = s.substring(k+10);

k = s.indexOf(""");

s = s.substring(0,k);

sourcefile[count] = s;

k = s.lastIndexOf(".");

suffix[count] = s.substring(k+1);

System.out.println(suffix[count]);

if(canTransfer(count)) transferfile(count);

}

if(!successful) break;

}

}

public int getCount(){

return count;

}

public String[] getSourcefile(){

return sourcefile;

}

public void setObjectpath(String objectpath){

this.objectpath = objectpath;

}

public String getObjectpath(){

return objectpath;

}

private boolean canTransfer(int i){

suffix[i] = suffix[i].toLowerCase();

//这个是我用来传图片的,各位可以把后缀名改掉或者不要这个条件

if(sourcefile[i].equals("")(!suffix[i].equals("gif")&&!suffix[i].equals("jpg")&&!suffix[i].equals("jpeg"))) {description[i]="ERR suffix is wrong";return false;}

else return true;

}

private void transferfile(int i){

String x = Long.toString(new java.util.Date().getTime());

try{

objectfilename[i] = x+"."+suffix[i];

FileOutputStream out = new FileOutputStream(objectpath+objectfilename[i]);

int a = 0;

int k = 0;

long hastransfered = 0;//标示已经传输的字节数

String s = "";

while((a = sis.readLine(b,0,b.length)) != -1){

s = new String(b,0,a);

if((k = s.indexOf("Content-Type:")) != -1) break;

}

sis.readLine(b,0,b.length);

while((a = sis.readLine(b,0,b.length)) != -1){

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航