基本概念

Apache Commons FileUpload :Apache Commons FileUpload组件提供了一种简单而灵活的方法,可以将对多部分文件上传功能的支持添加到Servlet和Web应用程序。

Maven

<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
<dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.4</version>
</dependency>

源代码

package club.zstuca.demo;import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;/*** Servlet implementation class UploadDEMO*/
@WebServlet("/UploadDEMO")
public class UploadDEMO extends HttpServlet {private static final long serialVersionUID = 1L;/*** @see HttpServlet#HttpServlet()*/public UploadDEMO() {super();// TODO Auto-generated constructor stub}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubresponse.getWriter().append("Served at: ").append(request.getContextPath());}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubdoGet(request, response);request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");response.setContentType("text/html; charset=UTF-8");boolean bool=ServletFileUpload.isMultipartContent(request);System.out.println(bool);if(bool) {ServletFileUpload upload = new ServletFileUpload(new DiskFileItemFactory());// upload.setFileSizeMax(20);try {List<FileItem> items =  upload.parseRequest(request);Iterator<FileItem> it = items.iterator();while(it.hasNext()) {FileItem item = it.next();String name = item.getFieldName();if(item.isFormField()) {if( name.equals("name")){}else if(name.equals("psd")) {}else{}}else {System.out.println(item.getName());String filename = item.getName();String ext =  filename.substring(filename.indexOf(".")+1);System.out.println(ext);if(!(ext.equals("png")||ext.equals("gif")||ext.equals("jpg"))){System.out.println("upload file error");return;}String path = request.getSession().getServletContext().getRealPath("upload");File file = new File("C:\\Users\\Lenovo\\Desktop",filename);System.out.println(file.getTotalSpace());item.write(file);}}} catch (Exception e) {// TODO 自动生成的 catch 块e.printStackTrace();}}System.out.print("OK");}
}

教学资源

https://www.bilibili.com/video/av29086718?p=34

参考文章

暂无

Java Web——文件上传(Apache Commons FileUpload实现上传图片DEMO)相关推荐

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

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

  2. java web文件上传详解_java web图片上传和文件上传实例详解

    java web图片上传和文件上传 图片上传和文件上传本质上是一样的,图片本身也是文件.文件上传就是将图片上传到服务器,方式虽然有很多,但底层的实现都是文件的读写操作. 注意事项 1.form表单一定 ...

  3. java web 文件上传工具类_JavaWeb中实现文件上传的方式有哪些?

    上回我们说了下文件下载的方式有哪些,这次我们从不同的环境下简单来说说文件上传的方式有哪些. 文件上传的方式Servlet2.5 方式 Servlet3.0 方式 SpringMVC 方式 案例实操 S ...

  4. java web 文件上传和下载

     在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直 ...

  5. Java Web 文件上传下载

    文章目录 1文件上传概述 1.1文件上传的作用 1.2文件上传对页面的要求 1.3 比对文件上传表单和普通文本表单的区别 1.4 对普通文本表单的测试 1.5 文件上传对Servlet的要求 2 co ...

  6. java web 文件上传_Javaweb学习笔记10—文件上传与下载

    今天来讲javaweb的第10阶段学习.文件的上传与下载,今天主要说的是这个功能的实现,不用说了,听名字就是外行人也知道肯定很重要啦. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps:我的思 ...

  7. java Web 文件上传

    注意:请求实体过大的问题,请修改Nginx服务器的大小(百度参考413 Request Entity Too Large 的解决方法) jsp:<input type="file&qu ...

  8. java web 上传附件_JAVA WEB文件上传步骤

    JAVA WEB文件上传步骤如下: 实现 Web 开发中的文件上传功能,两个操作:在 Web 页面添加上传输入项,在 Servlet 中读取上传文件的数据并保存在本地硬盘中. 1.Web 端上传文件. ...

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

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

最新文章

  1. android 入门之一【开发环境搭建】
  2. 使用noode.js创建一个服务器
  3. html视频资源加载出错处理,如何处理前端异常
  4. Committee和Virtual Project Team的关系
  5. leetcode86. 分隔链表
  6. 管理计算机域内置账户改为用户账户,“管理计算机(域)的内置帐户”我给它改了名...
  7. python 大众点评模拟登陆_python项目实战:模拟登陆163邮箱,简单到爆
  8. Eclipse中的控制台
  9. 练习--第一次课(运算if while 字符编码)
  10. 【Linux】自主实现my_sleep【转】
  11. 求整数数组的最小值c语言,编程实现求一个整数数组num[]中的最大值与最小值并输出结果的程序...
  12. 浏览器javascript 下载m3u8视频合成mp4
  13. win10 桌面的的文件都不见了 提示不注销保存都文件都为临时_舒心,享受——win10美化...
  14. 自媒体剪辑中常用的premere快捷键
  15. java入门学习(三:数据类型)
  16. Pycharm使用技巧:Split Vertically/Horizontally(垂直/水平拆分窗口)
  17. php global 要点
  18. pytest单元测试
  19. python二手房价格预测_分析香港2万6千套在售二手房数据,1000万的居然有那么多...
  20. Educoder_Web_移动端电商页面制作

热门文章

  1. java 枚举 下拉框_枚举enum在velocity模板语言中的应用-下拉菜单
  2. python read函数_Python read()函数:读入指定长度的文本
  3. 云服务器怎么选系统,云服务器怎么选择操作系统
  4. apache目录 vscode_[PHP] php, apache, VS Code安装与配置
  5. mysql帐户权限replace_mysql 用户管理和权限设置
  6. List集合存入int类型值1,remove(1)方法按下标还是按对象删除信息
  7. php坐标轴取整,PHP取整函数:ceil,floor,round,intval的区别详细解析
  8. jsp mysql修改密码_Servlet+JSP+MySQL实现用户管理模块之七、实现用户信息更新和重置密码...
  9. php curl viewstate,php curl – 发布asp.net viewstate值
  10. opencv java 显示图片_【opencv三】利用opencv读取显示图片