快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

百盛娱乐经典电子游戏:推荐个上传文件的javabean给大家



作者:westsavage颁发光阴:2001-10-30 16:03:58

--------------------------------------------------------------------------------

作者: popeyelin

westsavage转载cnjsp,假如作者不合意,我们将删除。

import java.io.*;

import javax.servlet.Serv百盛娱乐经典电子游戏letInputStream;

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){

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

if((b[0]==45)&&(b[1]==45)&&(b[2]==45)&&(b[3]==45)&&(b[4]==45)) break;

out.wri百盛娱乐经典电子游戏te(b,0,a);

hastransfered+=a;

if(hastransfered>=size){

description[count] = "ERR The file "+sourcefile[count]+" is too large to transfer. The whole process is interrupted.";

successful = false;

break;

}

}

if(successful) description[count] = "Right The file "+sourcefile[count]+" has been transfered successfully.";

++count;

out.close();

if(!successful){

sis.close();

File tmp = new File(objectpath+objectfilename[count-1]);

tmp.delete();

}

}

catch(IOException ioe){

description[i]=ioe.toString();

}

}

public transfer_multi(){

//可以在构建器里面构建办事器上传目录,也可以在javabea百盛娱乐经典电子游戏n调用的时刻自己构建

setObjectpath("/home/www/jspvhost4/web/popeyelin/images/");

}

}

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: