使用getPart接收表单文件时,注意Tomcat版本要在8之上。

前台 : form.jsp

Title

请选择文件:

后台:TestServlet

@WebServlet(name = "TestServlet", urlPatterns = "/test")

@MultipartConfig

public class UserServlet extends HttpServlet {

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

//获取文件,参数为前台的name

Part part = request.getPart("file");

//获取文件名,获取到文件名的格式如:a.jpg

String fileName = part.getSubmittedFileName();

/**

截取文件名的后缀名:

photo.lastIndexOf('.')的返回值为"."的位置,加1表示后缀名的起始位置。

photo.substring(photo.lastIndexOf('.')+1),表示从后缀名的起始位置截取到结束位置。

* */

String fileType = fileName.substring(fileName.lastIndexOf('.') + 1);

//判断该文件是不是图片格式

if (!("jpg".equalsIgnoreCase(fileType) || "jpeg".equalsIgnoreCase(fileType) || "png".equalsIgnoreCase(fileType))) {

//不是图片格式,停止下一步,并将信息反馈给前台页面

request.setAttribute("msg","上传的文件必须为图片");

request.getRequestDispatcher(request.getContextPath() + "/form.jsp").forward(request, response);

return;

}

//是图片类型,构建一个上传图片的存储路径

String path = "E:\\upload";

File file = new File(path);

if (!file.exists()) {

file.mkdirs(); //创建文件和文件夹

}

//将part内容写到文件夹内,生成一个文件

part.write(path + "/" + fileName);

}

}

String path = "E:\\testPic";设置成本地文件夹路径与Tomcat服务器脱离关联,可以防止文件丢失。但需要将该文件夹挂载到Tomcat服务器。

挂载方式:

Eclipse:

1、双击集成在Eclipse中的tomcat服务器

2、点击添加额外的web资源

3、将本地存储上传文件的文件夹添加进来即可!

一定要ctrl + S

IDEA:

标签:文件,Javaweb,request,表单,文件夹,getPart,path,fileName,String

来源: https://www.cnblogs.com/nieaojie625/p/13339258.html

Java接受带文件的表单,Javaweb使用getPart来接收表单文件相关推荐

  1. web文件上传(三)--webapi后台接收参数和文件

    今儿查了好多关于webapi接收前台同时传来的参数和文件,这一通查找啊,把谷歌百度都翻烂了,找了一堆乱七八糟的,和大家分享下. 好多人们是这样做的 public async Task<HttpR ...

  2. go接收文件服务器,请教:html5批量文件上传,服务端go怎么接收多个文件?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 //多文件批量上传 func upload(w http.ResponseWriter, r *http.Request) { r.ParseMultip ...

  3. Java接受带文件的表单_Javaweb使用getPart接收表单文件过程解析

    使用getPart接收表单文件时,注意Tomcat版本要在8之上. 前台 : form.jsp Title 请选择文件: 后台:TestServlet @WebServlet(name = " ...

  4. java处理表单变量_Java自学之SpringMVC:接收表单数据

    学习目的:使用SpringMVC接收表单数据. Part 1 新建一个pojo. package pojo; public class Product { private int id; privat ...

  5. java web上传视频文件_怎样使用javaweb实现上传视频和下载功能?

    HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> My JSP 'index.jsp' starting page ...

  6. java | (二十八)jsp(2)其它标签,AOP,文件上传下载,部署javaweb到Tomcat

    这里写目录标题 core核心标签,逻辑标签 其它标签 redirect标签 自定义标签 AOP编程 文件的上传和下载 fileupload组件实现web文件上传 文件下载 MVC模式 部署发布java ...

  7. R语言write.xlsx函数将数据写入Excel文件:写入Excel文件并自定义表单的名称、将数据写入Excel文件新的表单(sheet)中、将文件保存为xls文件格式(而不是xlsx)

    R语言write.xlsx函数将数据写入Excel文件:写入Excel文件并自定义表单的名称.将数据写入Excel文件新的表单(sheet)中.将文件保存为xls文件格式(而不是xlsx) 目录

  8. java怎么防止表单重复提交_如何防止表单重复提交

    在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交. 一.表单重复提 ...

  9. java 打开jsp文件_jsp文件怎么打开(java-web中jsp的理解)

    jsp文件怎么打开(java-web中jsp的理解)JSP:Java Server Pages.JSP是一种网页的编码格式,不同于HTML的是JSP中是由 HTML中的标签指令 和 Java逻辑代码 ...

  10. html表单input file,input标签type=file的文件上传

    一,通过表单提交的方式 该提交方式只是提交普通表单:对于file组所选中的文件内容是不上传的,因此需要设置:enctype属性 enctype="multipart/form-data&qu ...

最新文章

  1. 【网络】通讯名词解释:带宽、速率、波特率、奈奎斯特定律、香农定理
  2. C# typeof Gettype is as 拆箱 装箱
  3. python课程设计报告总结-上海python课程设计报告数据处理
  4. xib中Autolayout的使用
  5. 手把手教你搭建Hadoop生态系统伪分布式集群
  6. 解决越狱后 SSH 不能连接的问题
  7. vue 关闭弹如何销毁子组件_vue中的eventBus会产生内存泄漏吗
  8. EtherCAT 网站链接
  9. mysql group by 重复_mysql – 使用GROUP BY删除重复项的查询
  10. Graphics.DrawRectangle Method(矩形)
  11. cad设计院常用字体_趣谈 | 那些年我们看过的电气图纸(附CAD/EPLAN区别)
  12. C#反射机制详解(转)
  13. python 通过ip获取城市_Python根据用户IP判断所属城市 !
  14. c语言程序下三子棋,C语言实现三子棋游戏(初级版)
  15. java url压缩_URL短地址压缩算法 微博短地址原理解析 (Java实现)
  16. Springboot 整合 Mybatis 的完整 Web 案例
  17. paip.截屏功能流程说明
  18. 阿里云资深技术专家何勉:研发效能提升的系统方法
  19. c语言 库仑计_android电池(四):电池 电量计(MAX17040)驱动分析篇【转】
  20. 灵活好用,GIF 屏幕录制工具

热门文章

  1. 阿里云产品经理吴华剑:SLS 的产品功能与发展历程
  2. 【TSP】基于matlab狼群算法求解旅行商问题【含Matlab源码 211期】
  3. 【优化算法】动物迁徙优化算法(AMO)【含Matlab源码 1806期】
  4. 【产量预测】基于matlab BP和GRNN神经网络预测粮食产量【含Matlab源码 1247期】
  5. 【电力负荷预测】基于matlab粒子群算法优化支持向量机预测电力负荷【含Matlab源码 1225期】
  6. 【车牌识别】基于matlab GUI模拟停车位管理系统【含Matlab源码 898期】
  7. 【数据分析】基于matlab GUI kmeans聚类分组系统【含Matlab源码 510期】
  8. 【路径规划】基于matlab改进的粒子群算法路径规划【含Matlab源码 491期】
  9. 【图像几何】基于matlab GUI图像几何运算系统【含Matlab源码 206期】
  10. python的post请求中加参数_Python+Post请求中涉及到多个参数data方法的应用