使用Apache文件上传组件实现web页面文件上传
用servlet的upload功能实现文件上传很繁琐,代码量很大。可以用fileupload library组件实现文件上传,具体操作步骤如下:
1. 下载相关组件(commons-fileupload-xxx.jar及commons-io-xxx.jar)并copy 到项目的WEB-INF/lib 目录下,完成组件的引用;
代码如下:
try{
DiskFileItemFactory factory=new DiskFileItemFactory(); //创建一个DiskFileItemFactory工厂
ServletFileUpload upload=new ServletFileUpload(factory); //创建一个文件上传解析器
upload.setHeaderEncoding("UTF-8"); //解决上传文件名中文乱码问题
//判断上传的数据是否上传表单数据,如果不是则不做处理
if(!ServletFileUpload.isMultipartContent(request)) {
return;
}
//利用ServletFileUpload解析上传数据,解析结果返回的是List<FileItem>
List<FileItem> list=upload.parseRequest<request>;
for(FileItem item:List){
//如果FileItem中封装的是普通入项数据,
if(Item.isFormField()){
String name=item.getFieldName();
String value=item.getString("UTF-8");
}
else {
//如果FileItem中封装的是上传文件内容
//得到上传文件名
String filename=item.getName();
if(filename==null || filename.trim().equals("")) {
continue;
}
//如果有些浏览器上传的文件名中带有路径,则截取路径,只保留文件名
filename=filename.substring(filename.lostIndexof("\\")+1);
InputStream in=item.getInputStream(); //获取item中的上传文件输入流
FileOutputStream out=new FileOutputStream(file); //创建一个文件输出流
byte buffer[]=new byte[1024]; //创建一个缓冲区
//用一个变量标记输入流中的数据是否已经读完
int len=0;
while((len=in.read(buffer))>0){
out.write(buffer,0,len);
}
//关闭输入流
in.close();
//关闭输出流
out.close();
//关闭上传产生的临时文件
item.delete();
message="upload ok";
}
}
}catch (Exception e){
message="uplaod failure";
e.printStackTrace();
}
response.getWriter().append(message);
使用Apache文件上传组件实现web页面文件上传相关推荐
- antd上传组件upload+阿里oss实现上传功能
antd上传组件upload+阿里oss实现上传功能 阿里oss上传是目前前端同事比较习惯使用的上传方式,同样的上传方式还是七牛等,下面记录以下阿里oss上传的使用步骤: 最近在写后台管理系统,遇到上 ...
- 工作簿无法保存html,将Excel工作簿保存为交互式Web页面文件的方法
在完成Excel数据的处理后,用户可以将工作簿保存为Web页面文件,以便任何具有Web浏览器的用户都可以通过浏览器看到这些数据.下面介绍将Excel工作簿保存为交互式Web页面文件的具体操作方法. 1 ...
- java 文件保存目录结构_java web 实现文件夹上传(保留目录结构)
javaweb上传文件 上传文件的jsp中的部分 上传文件同样可以使用form表单向后端发请求,也可以使用 ajax向后端发请求 1.通过form表单向后端发送请求 Save 改进后的代码不需要for ...
- element-ui upload 上传组件附带额外参数进行上传(表单形式,多个参数)
之前一直使用upload组件单个上传文件,最近遇到需要上传表单字段,表单中有多个参数 下图是接口要求: 官网上传组件中提供了响应的功能实现,但是demo中未演示,不注意看文档参数的话,可能会不知道这个 ...
- 启动计算机 页面文件配置问题,计算机启动出现了页面文件配置问题是什么原因 如何解决...
计算机启动出现了页面文件配置问题是什么原因?如何解决?一些小伙伴在使用计算机启动出现了页面文件配置问题,很多小伙伴不知道如何解决,下面就让小编为大家介绍一下相关情况,希望能对大家有帮助. Window ...
- react简易实现图片上传组件-从相机或文件夹上传
简单做了个图片上传的组件: <div className={styles.uploadImg_main}><inputstyle={{display:'none'}}ref={(el ...
- python上传文件接口_python程序的web接口:上传和下载文件
我正在尝试制作一个简单的web应用程序,其中可以上载一个文件并将该文件提供给python脚本.烧瓶似乎适合这种用途.然后,用户可以从脚本下载文件输出.请告诉我如何解析python脚本中的文件并获得输出 ...
- android手机上传不了图片,关于Web Uploader手机上传不了图片的问题
今天在手机上调试页面的时候发现的问题,电脑上上传图片没问题,到了手机浏览器,就上传不了了. 具体的问题是这样的,点击上传按钮,可以跳出选择拍照和图库的选项,拍照或者选择图片以后,没有调起上传的方法,下 ...
- Web页面布局上的幽灵事件 -- 外边距合并折叠解惑
最初的想法是准备写BFC的设计方面的一些考虑,当然这只是从一个使用者角度来理解的设计 虽然会跟实际有一定差距,但对于能更好的来理解记忆BFC还是有用处的. 现在确定了要写的东西跟最初有些不同,但是很典 ...
最新文章
- UA PHYS515A 电磁理论V 电磁波与辐射6 波导
- VS2010数据库项目不能正常工作解决方案(转)
- binlog以及Canel
- Web.Config介绍
- NGINX进程的基本操作和基础知识
- Django--QuerySet--基础查询
- android webview 弹出浏览器,android – 防止WebView打开浏览器
- voronoi图代码_在Unity中实时计算Voronoi图
- FastDFS的安装讲解
- 基于java的物资管理系统
- oracle,pdb模式,数据库重启
- 荐书 | 9本心理治疗书籍推荐
- CRFEntityExtractor文档
- android屏幕适配:一个很棒的屏幕适配文章
- Kubernetes 1.14:Windows节点的生产级支持、Kubectl更新、持久本地卷GA
- mysql 事务数据分批_mysql 如何分批 读取数据
- android mediaplayer 错误码,MediaPlayer 错误码
- iOS-对 iOS app 进行安全加固
- java服务端代码_Java Socket编程服务器响应客户端实例代码
- 【2020年领域新星】 赵彦鹏 爱丁堡大学