用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页面文件上传相关推荐

  1. antd上传组件upload+阿里oss实现上传功能

    antd上传组件upload+阿里oss实现上传功能 阿里oss上传是目前前端同事比较习惯使用的上传方式,同样的上传方式还是七牛等,下面记录以下阿里oss上传的使用步骤: 最近在写后台管理系统,遇到上 ...

  2. 工作簿无法保存html,将Excel工作簿保存为交互式Web页面文件的方法

    在完成Excel数据的处理后,用户可以将工作簿保存为Web页面文件,以便任何具有Web浏览器的用户都可以通过浏览器看到这些数据.下面介绍将Excel工作簿保存为交互式Web页面文件的具体操作方法. 1 ...

  3. java 文件保存目录结构_java web 实现文件夹上传(保留目录结构)

    javaweb上传文件 上传文件的jsp中的部分 上传文件同样可以使用form表单向后端发请求,也可以使用 ajax向后端发请求 1.通过form表单向后端发送请求 Save 改进后的代码不需要for ...

  4. element-ui upload 上传组件附带额外参数进行上传(表单形式,多个参数)

    之前一直使用upload组件单个上传文件,最近遇到需要上传表单字段,表单中有多个参数 下图是接口要求: 官网上传组件中提供了响应的功能实现,但是demo中未演示,不注意看文档参数的话,可能会不知道这个 ...

  5. 启动计算机 页面文件配置问题,计算机启动出现了页面文件配置问题是什么原因 如何解决...

    计算机启动出现了页面文件配置问题是什么原因?如何解决?一些小伙伴在使用计算机启动出现了页面文件配置问题,很多小伙伴不知道如何解决,下面就让小编为大家介绍一下相关情况,希望能对大家有帮助. Window ...

  6. react简易实现图片上传组件-从相机或文件夹上传

    简单做了个图片上传的组件: <div className={styles.uploadImg_main}><inputstyle={{display:'none'}}ref={(el ...

  7. python上传文件接口_python程序的web接口:上传和下载文件

    我正在尝试制作一个简单的web应用程序,其中可以上载一个文件并将该文件提供给python脚本.烧瓶似乎适合这种用途.然后,用户可以从脚本下载文件输出.请告诉我如何解析python脚本中的文件并获得输出 ...

  8. android手机上传不了图片,关于Web Uploader手机上传不了图片的问题

    今天在手机上调试页面的时候发现的问题,电脑上上传图片没问题,到了手机浏览器,就上传不了了. 具体的问题是这样的,点击上传按钮,可以跳出选择拍照和图库的选项,拍照或者选择图片以后,没有调起上传的方法,下 ...

  9. Web页面布局上的幽灵事件 -- 外边距合并折叠解惑

    最初的想法是准备写BFC的设计方面的一些考虑,当然这只是从一个使用者角度来理解的设计 虽然会跟实际有一定差距,但对于能更好的来理解记忆BFC还是有用处的. 现在确定了要写的东西跟最初有些不同,但是很典 ...

最新文章

  1. UA PHYS515A 电磁理论V 电磁波与辐射6 波导
  2. VS2010数据库项目不能正常工作解决方案(转)
  3. binlog以及Canel
  4. Web.Config介绍
  5. NGINX进程的基本操作和基础知识
  6. Django--QuerySet--基础查询
  7. android webview 弹出浏览器,android – 防止WebView打开浏览器
  8. voronoi图代码_在Unity中实时计算Voronoi图
  9. FastDFS的安装讲解
  10. 基于java的物资管理系统
  11. oracle,pdb模式,数据库重启
  12. 荐书 | 9本心理治疗书籍推荐
  13. CRFEntityExtractor文档
  14. android屏幕适配:一个很棒的屏幕适配文章
  15. Kubernetes 1.14:Windows节点的生产级支持、Kubectl更新、持久本地卷GA
  16. mysql 事务数据分批_mysql 如何分批 读取数据
  17. android mediaplayer 错误码,MediaPlayer 错误码
  18. iOS-对 iOS app 进行安全加固
  19. java服务端代码_Java Socket编程服务器响应客户端实例代码
  20. 【2020年领域新星】 赵彦鹏 爱丁堡大学

热门文章

  1. R语言 双坐标轴组合图形可视化实现
  2. 运筹说 第25期 | 对偶理论经典例题讲解
  3. 小狼毫Rime输入法【朙月拼音-简体字】取消默认英文候选词
  4. 2018中国机器人大赛服务机器人专项赛赛后总结
  5. Mac写作软件妙笔如何调换夜间模式?WonderPen调整夜间模式的图文教程
  6. 如何实现 kitten编程猫 里虚拟手柄效果
  7. (附源码)计算机毕业设计ssm电影院购票系统
  8. mcu芯片是指什么芯片?mcu芯片是指51芯片吗?
  9. 加强版企业微信社群运营必备的10大工具
  10. linux - Android安卓是什么