千家信息网

怎么编写一个完整的上传文件bean

发表于:2024-11-18 作者:千家信息网编辑
千家信息网最后更新 2024年11月18日,本篇内容主要讲解"怎么编写一个完整的上传文件bean",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么编写一个完整的上传文件bean"吧!import j
千家信息网最后更新 2024年11月18日怎么编写一个完整的上传文件bean

本篇内容主要讲解"怎么编写一个完整的上传文件bean",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么编写一个完整的上传文件bean"吧!

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){
s = new String(b,0,a);
if((b[0]==45)&&(b[1]==45)&&(b[2]==45)&&(b[3]==45)&&(b[4]==45)) break;
out.write(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(){
//可以在构建器里面构建服务器上传目录,也可以在javabean调用的时候自己构建
setObjectpath("/home/www/jspvhost4/web/popeyelin/images/");
}
}

到此,相信大家对"怎么编写一个完整的上传文件bean"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

文件 内容 后缀 目录 目标 传输 学习 实用 更深 兴趣 图片 大小 字节 实用性 实际 操作简单 数目 数组 文件名 方法 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 证券资管软件开发 网络安全日报怎么画 达梦数据库主要用户 求数据库中两列时间差 域控文件服务器管理 综合网络技术服务系统 密码学的网络安全题目怎么做 pubg未来之役服务器都是什么 网络技术在教育中应用比率 软件开发公司聚顶科技在线 天龙八部如何开高级服务器 浪潮服务器销售招聘 数据库保护的立法现状与基础理论 电子商务网站数据库 ai网络安全教学 德温特专利数据库包括哪些国家 软件开发都是开发什么条件 计算机网络技术专业好的学校 数据库怎么查询入职人数 如何从门禁中导出车辆数据库 数据库冗余解决办法 广东汽车网络技术有哪些 网络安全审查办公室设在哪儿 数据库中倒三角什么意思 简述面向对象软件开发的优点 学习网络安全的感想大学生 软件开发公司 合作 哪些数据库是线程安全 新数据库如何创建新用户 北京常见软件开发成交价
0