处理上传的文件,一般都需要通过流(getInputStream)的方式来获取,不过还是建议使用Apach的文件上传组件(commons-io、commons-fileupload)可以很方便的进行操作

首相判断前端页面上传文件的是不是文件表单,如果不是就不用操作

然后再创建一个文件保存的路径,建议是在/WEB-INF/upload下,这样用户是不能轻易访问的,并且判断这个文件是否存在,如果不存在就创建这个目录

再创建一个临时保存的文件路径,假如一个文件超过大小范围,我们就让它放到临时文件中,这样过几天就会自动删除,不会占用自己的磁盘空间

创建DiskFileItemFactory对象来处理文件上传路径或者大小的限制

用ServletFileUpload来处理上传文件的数据,因为ServletFileUpload解析时需DiskFileItemFactory对象,所以会提前创建一个DiskFileItemFactory对象

设置一个监听器,来监听上传的进度

处理乱码问题,设置单个文件的最大值和总共文件的最大值

在将前端请求封装成一个FileItem对象,并定义一个发送给前端的信息

然后遍历获取的文件是不是表单文件,如果不是表单文件就打印一下它的名字和值并处理乱码问题

如果时表单文件就获取他的路径名字 然后判断一下这个路径是不是有误,有误就判断下一个文件

获取文件名字和扩展名

因为别人要存在你这的文件可能会出现文件名重复的情况,我们就需要设置一个唯一识别码,就用uuid.randomUUID()来实现,并将这个唯一识别码跟我们要存放的地址弄在一起

然后再给每一个路径创建相应的文件夹

最后将获得文件流然后打印到相应的位置就行了,然后发送给前端

Java实现文件上传相关推荐

  1. JAVA大文件上传断点续传解决方案

    JAVA大文件上传断点续传解决方案 参考文章: (1)JAVA大文件上传断点续传解决方案 (2)https://www.cnblogs.com/songsu/p/11834425.html (3)ht ...

  2. java jsp 文件上传_用JSP编写文件上传

    用JSP编写文件上传 发布时间:2016-09-14 来源: 点击: 次 如果你曾用VB编写文件上传的组件的话,那么用JAVA编写文件上传的JAVABEAN十分容易. 下面的例子只是一个简版 pack ...

  3. centos nfs java_CentOS下安装配置NFS并通过Java进行文件上传下载

    1:安装NFS (1)安装 yum install nfs-utils rpcbind (2)启动rpcbind服务 systemctl restart rpcbind.service 查看服务状态 ...

  4. Java 多文件上传

    转载自  Java 多文件上传 前台代码很简单: <input type="file" accept=".zip" class="file-lo ...

  5. 文件上传 java 完美,vue+java实现文件上传(excel等),会出现跨域问题,直接用form表单提交就不会有问题了(new FormData())...

    vue+java实现文件上传(excel等),会出现跨域问题,直接用form表单提交就不会有问题了(new FormData()) 地址:https://www.cnblogs.com/muscles ...

  6. Java实现文件上传到服务器(FTP方式)

    Java实现文件上传到服务器(FTP方式) 1,jar包:commons-net-3.3.jar 2,实现代码: //FTP传输到数据库服务器private boolean uploadServerB ...

  7. H5+JAVA的文件上传,断点续传

    需求:项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在500M内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以501M来进行限制. 第一步: 前端修改 由于项目使用的是 ...

  8. java web文件上传所需要的commons-fileupload和 commons-io jar包

    文章目录 一.官网获取 二.百度网盘分享 三.分享与热爱 一.官网获取 学习java web文件上传时需要用到两个必备的jar包: commons-fileupload commons-io jar ...

  9. java文件流 m.jb51.net_FasfDFS整合Java实现文件上传下载功能实例详解

    今天使用Java代码实现文件的上传和下载.对此作者提供了Java API支持,下载fastdfs-client-java将源码添加到项目中.或者在Maven项目pom.xml文件中添加依赖 org.c ...

  10. Java将文件上传到ftp服务器

    Java将文件上传到ftp服务器 首先简单介绍一下什么是FTP,以及如何在自己的电脑上搭建一个ftp服务器: -- FTP是文件传输协议(FTP)是一种客户端/服务器协议,用于将文件传输到主机或与主机 ...

最新文章

  1. ajax如何请求json文件,简单的ajax请求加载外部json文件
  2. Javascript自定义事件功能与用法实例分析
  3. mybatis学习(17):列名与属性名不一致的情况(使用别名)
  4. 【Codeforces - 632C】The Smallest String Concatenation (对string巧妙排序)
  5. APP自动化测试系列之Appium介绍及运行原理
  6. 【codevs1231】最优布线问题
  7. 2015/12/12 考了PAT,又回来玩Python了。
  8. php网站怎么看用户名,首页登录后怎么在首页显示用户名以及隐藏登录框?
  9. html基础—页面框架,前端基础——页面架构
  10. 趋势 | 2020年云计算的10大市场方向
  11. C++学习 8.2 - 类及类成员
  12. android mp3文件图片,android 完美获取音乐文件中的专辑图片并显示
  13. linux pulseaudio卸载,解决Ubuntu 9.04 下 PulseAudio声音故障
  14. 一万年太久,只争朝夕,男儿有泪不轻弹,只是未到伤心处!!!!!!
  15. C语言的数据表现形式及其运算
  16. CRM项目(idea)-1-环境搭建.
  17. 1. NETSDK1141    无法解析位于  global.json 中指定的 .NET SDK 版本
  18. C/C++ CGI处理文件上传
  19. 【Linux——配置软件仓库】
  20. cent7虚拟机镜像_centos7.3系统下载

热门文章

  1. 帝搜软件官网通知:谨慎辨别真假
  2. 天天钻APP是真的吗?天天钻APP赚钱攻略?天天钻怎么赚钱快?
  3. vpp api (1)-- trace 方法
  4. crmeb v4和pro公众号小程序客服配置详解
  5. TCGA里面的任意基因做生存分析 批量生存分析
  6. oppo服务器是网络运营商的吗,OPPO的无网络通信技术到底是什么?
  7. 身为东北人的小灰,在云南被冻到哭!
  8. BDTC 2017 | 潜能无限,深度剖析大数据在交通旅游领域的应用实践
  9. java下标_Java 在Word中设置上标、下标
  10. 10进制转2进制三种方法 +任意进制的相互转化(利用字符)