java 简单实现上传 | commons-fileupload
使用servlet来实现
- 配置pom.xml
<dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3</version></dependency>
- servlet
protected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {//创建一个文件处理工厂FileItemFactory factory= new DiskFileItemFactory();//创建一个存放临时中转的仓库ServletContext servletContext = this.getServletConfig().getServletContext();File repository = (File) servletContext.getAttribute("javax.servlet.context.temdir");((DiskFileItemFactory) factory).setRepository(repository);//创建一个处理上传的处理器ServletFileUpload upload = new ServletFileUpload(factory);try {//获取从表单提交上来的数据,从表单上传的数据会自动被分割,比如一个input:text,input:file,就会被分成两个itemList items = upload.parseRequest(req);Iterator iter = items.iterator();while (iter.hasNext()) {FileItem item = iter.next();//检查是否是文件if(item.isFormField()) {//如果不是文件dString name = item.getFieldName();String value =item.getString();System.out.println(name+":"+value);}else {//如果是文件String fieldName = item.getFieldName();//这个fileName是上传文件名String fileName = item.getName();System.out.println(fieldName+":"+fileName);//新建一个文件,用于存储上传的文件File uploadFile = new File("D:\\",fileName);item.write(uploadFile);}}} catch (FileUploadException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}}
- 在web.xml中配置好servlet
- 前端页面
<form action="/swfupload/fupload" enctype="multipart/form-data" method="post"></form>
在这里,enctype的类型一定要是multipart/form-data,method要是post
使用spring mvc controller来实现
- 大部分都是和上面的一样,而配置spring mvc可以在前面的博客找到
- 配置controller
@RequestMapping(value="/upload.do",method=RequestMethod.POST)public void upload(HttpServletRequest request, HttpServletResponse response) {//定义一个文件上传工厂,配置一些上传限制DiskFileItemFactory factory = new DiskFileItemFactory();factory.setRepository(new File("D:\\"));//上传实现方法ServletFileUpload upload = new ServletFileUpload(factory);try {//获取表彰提交List items = upload.parseRequest(request);Iterator iter = items.iterator();while (iter.hasNext()) {FileItem item = iter.next();if (item.isFormField()) {//当不是文件的时候String filedName = item.getFieldName();String value = item.getString();System.out.println(filedName + ":" + value);} else {//是文件的时候String fileName = item.getName();String path = ContextLoader.getCurrentWebApplicationContext().getServletContext().getRealPath("/");System.out.println(path);//新建一个文件,并以上传文件名为文件名File uploadFile = new File(path,fileName);//保存上传文件item.write(uploadFile);}}} catch (FileUploadException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}}
@RequestMapping指定了访问的路径和访问的类型
- 前台页面
<form action="/swfupload/upload.do" enctype="multipart/form-data" method="post">
其实swfupload是项目名
java 和 swfupload的结合
其实swfupload只是负责前台的各种逻辑,而java后台的处理依然是沿用普通的上传代码,也就是java后台处理的代码和上面的是一个样,只是前台代码使用swfupload写,而代码在官方网站上的demo写得非常全了
转载于:https://www.cnblogs.com/popping57/p/3258956.html
java 简单实现上传 | commons-fileupload相关推荐
- 阿里云oss简单的上传下载删除(java)
阿里云oss上传和下载. 配置maven <!-- https://mvnrepository.com/artifact/com.aliyun.oss/aliyun-sdk-oss --> ...
- java的图片上传与前端展示实例(Servlet+Jsp)
java的图片上传与前端展示实例(Servlet+Jsp) 内容前瞻 1.关于路径 2.前端图片上传与展示 3.后台获取并保存 环境 1.前端jsp 2.服务器tomcat 3.服务端servlet ...
- Java Web 文件上传下载
文章目录 1文件上传概述 1.1文件上传的作用 1.2文件上传对页面的要求 1.3 比对文件上传表单和普通文本表单的区别 1.4 对普通文本表单的测试 1.5 文件上传对Servlet的要求 2 co ...
- 手把手教Jsp上传文件(FileUpload+Servlet)
本教程以Apache组织的commons项目中的FileUpload项目做为jsp的文件上传组件,FileUpload项目完全尊守RFC1867规范中 关于在HTTP request 中通过Post方 ...
- JAVA图片裁剪上传实例______软件开发-帮助类
实现思路 使用jcrop插件手机要裁剪图片的坐标 将收集到的参数传递到后台,在后台使用java图形对象绘制图像进行裁剪 后台处理流程: 1.将上传的图片按按照比例进行压缩后上传到文件服务器,并且将 ...
- java.lang.ClassNotFoundException: org.apache.commons.fileupload.disk.DiskFileItemFactory
您好,我是码农飞哥,感谢您阅读本文!本文主要介绍文件上传报的错 问题复现 [dispatcherServlet] in context with path [/coep-rest] threw exc ...
- JAVA项目同时上传多个文件和多个内容
JAVA项目同时上传多个文件和多个内容 首先这俩问题是由一个功能引发的,最近项目中有这样的要求,前端要上传多个文件用于地图描绘那些东西,但只是为了拼到地图上查看一下,并不做保存,这就引发了我的纠结 ...
- idea maven java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileItemFactory
今天学习SpringMVC 文件上传下载,编辑完成开始运行,报错 报错如下: java.lang.ClassNotFoundException: org.apache.commons.fileuplo ...
- 【2022/08/11】文件的上传(FileUpload)
文件的上传(FileUpload) 在Web应用中,文件上传和下载功能是非常常用的功能,对于文件上传,浏览器在上传的过程中是将文件以一个二进制的数据流的形式提交到服务器端的,不能够使用request. ...
最新文章
- Spark 开窗函数
- DropDownList实现可输入可选择
- Navicat数据库非常实用的技巧 (create_time、edit_time 设置默认值和自动更新)
- php mysql 取最小值_php – 根据另一个值更新最小值 – MySql
- Java——线程的创建,线程池
- resin指定java版本_resin的几个常用配置
- 详解C# 匿名对象(匿名类型)、var、动态类型 dynamic
- 深入浅出通信原理丨边缘计算阅读周
- Word编辑中的域代码详解
- 带你走进springboot
- 神经网络的发展历史概述
- 学Python更多是为了摸鱼,大多数人都这么做
- Finger-一款红队在大量的资产中存活探测与重点攻击系统指纹探测工具
- 深度学习车辆检测实现自动驾驶
- Nginx 设置域名转发到指定端口
- NeurlPS 2020来啦!AI TIME PhD 顶会专场直播预告
- 欧拉筛法原理C语言,素数筛法
- [转]个人网站对接支付宝,微信支付接口史上最详细教程
- 3年收10亿,普陀山悄悄改名重启IPO
- mysql慢查询优化_常见mysql的慢查询优化方式