问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么用JAVAWEB上传文件?

发布网友 发布时间:2022-04-25 16:08

我来回答

1个回答

热心网友 时间:2023-10-16 04:57

java上传可以使用common-fileupload上传组件的。common-fileupload是jakarta项目组开发的一个功能很强大的上传文件组件下面先介绍上传文件到服务器(多文件上传):import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.util.regex.*;
import org.apache.commons.fileupload.*;
public class upload extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GB2312";
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out=response.getWriter();
try {
DiskFileUpload fu = new DiskFileUpload();
// 设置允许用户上传文件大小,单位:字节,这里设为2m
fu.setSizeMax(2*1024*1024);
// 设置最多只允许在内存中存储的数据,单位:字节
fu.setSizeThreshold(4096);
// 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录
fu.setRepositoryPath("c:\\windows\\temp");
//开始读取上传信息
List fileItems = fu.parseRequest(request);
// 依次处理每个上传的文件
Iterator iter = fileItems.iterator();//正则匹配,过滤路径取文件名
String regExp=".+\\\\(.+)$";//过滤掉的文件类型
String[] errorType={".exe",".com",".cgi",".asp"};
Pattern p = Pattern.compile(regExp);
while (iter.hasNext()) {
FileItem item = (FileItem)iter.next();
//忽略其他不是文件域的所有表单信息
if (!item.isFormField()) {
String name = item.getName();
long size = item.getSize();
if((name==null||name.equals("")) && size==0)
continue;
Matcher m = p.matcher(name);
boolean result = m.find();
if (result){
for (int temp=0;temp if (m.group(1).endsWith(errorType[temp])){
throw new IOException(name+": wrong type");
}
}
try{//保存上传的文件到指定的目录//在下文中上传文件至数据库时,将对这里改写
item.write(new File("d:\\" + m.group(1))); out.print(name+" "+size+"
");
}
catch(Exception e){
out.println(e);
} }
else
{
throw new IOException("fail to upload");
}
}
}
}
catch (IOException e){
out.println(e);
}
catch (FileUploadException e){
out.println(e);
}

}
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? javaweb怎么处理中文乱码问题 java web工程里面中文乱码了 嵊州医保办电话大厅电话 嵊州医保查询个人账户 嵊州社保局个人查询 医保 java怎么读取web工程里面的文件 嵊州市医疗保险查询 后悔的悔字组词 Javaweb文件导入的问题 后悔的悔能组什么词 Javaweb项目文本编辑工作内容 悔,组什么词语 后悔的悔海怎么组词 劝、悔、盘字组词 javaweb文本域写不进去 后悔的悔可以组什么词 悔的多音字组词 焉,隅,罔,倚,殆,诣,悱,悔组词 悔的组词有哪些 后悔的悔怎么组词 嵊州市养老保险金网上怎么查询 javaweb怎么处理中文乱码 如何解决JavaWeb乱码问题 JavaWeb里面文本域怎么写 嵊州农医保咨询电话 医保缴费单号怎么查询 梦见有很多小猫其中一只小猫把尿撒在我的肩膀上是怎么回事? 嵊州市2021年度城乡居民基本医疗保险参保缴费金额 嵊州医保局电话号码 梦到黑猫要朝我撒尿 梦见一只漂亮的小猫把着我往花盆里撒尿 梦见被猫往脸上撒尿,而且自己还*到了猫的尿了,请问这是什么意思的梦啊? 周公解梦大全查询刚才做梦梦见一只花猫在我睡的被上撒了尿后用眼睛看... 怎么拦截弹窗 如何拦截恶意网页和弹窗广告 如何有效拦截恶意网页和弹窗广告? 如何屏蔽电脑网页弹窗 阅读短文,回答文后的问题:马铃薯,俗名土豆.因其生长适应性强、产量高、烹制方法多样等众多优点而广受 马铃薯 阅读答案 !!!!!!!!!!! 最迟明天,我星期三要交呢。所以,各位,大哥大姐,帮帮忙啊!! 阅读短文,回答文后的问题: 马铃薯,俗名土豆.因其生长适应性强、产量高、烹制方法多样等众多优点而广