我们在需要向服务器上传文件时,在前端需要使用form表单,form表单需要使用特殊的类型 form-data

此时提交文件的时候,浏览器会把文件内容以form-data的格式构造到HTTP请求中,服务器就可以通过getPart获取了

需要注意:

  1. 一个HTTP请求,可以一次提交多个文件,每个文件都称为一个Part。
  2. 每一个Part都有一个name标识,服务器可以通过name找到对应的Part。这个name对应了input标签的name属性

服务器getPart函数获取到的Part类提供的方法

方法
String getSubmittedFileName() 获取提交文件名
String getContentType() 获取提交文件类型
long getSize() 获取文件大小
void writeString(String Path) 将提交的文件写入到磁盘文件中

后端要想成功使用getPart函数,需要在处理post请求的类前加上@MultipartConfig注解,否则会调用失败。

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><title>上传文件</title>
</head><body><form action="upload" method="post" enctype="multipart/form-data"><input type="file" name="img"><input type="submit" value="提交"></form>
</body></html>
import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
import java.io.IOException;@MultipartConfig
@WebServlet("/upload")
public class UpLoad extends HttpServlet {@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {Part part = req.getPart("img");System.out.println(part.getSize());System.out.println(part.getSubmittedFileName());System.out.println(part.getContentType());//这里选择写入图片文件part.write("E:\\TmpBuff\\tmp.jpg");resp.setContentType("text/html;charset=utf8");resp.getWriter().write("上传成功");}
}

JavaEE - Servlet(向服务器上传文件 Part类)相关推荐

  1. python运维实战--跨堡垒机连接二级服务器上传文件

    python运维实战--跨堡垒机连接二级服务器上传文件 paramiko的有关概念和操作 Welcome to Paramiko! - Paramiko documentation 这个python脚 ...

  2. ASP.NET跨服务器上传文件的相关解决方案

    ASP.NET跨服务器上传文件的相关解决方案 参考文章: (1)ASP.NET跨服务器上传文件的相关解决方案 (2)https://www.cnblogs.com/zuowj/p/3999798.ht ...

  3. 跨服务器上传文件方式

    跨服务器上传文件的方式有很多,其中一种是使用在中间服务器上使用临时文件的方式进行保存后再发送到另一个服务器上,实现文件上传. 问题点:中间保存临时文件,还需要不定时的进行文件清理,比较麻烦 直接进行文 ...

  4. 向web服务器传文件,c++实现向web服务器上传文件

    [实例简介] vs2013 c++实现上传的客户端,服务端为java写的web工程,模拟post方法,可以上传大文件 [实例截图] [核心代码] c向web服务器上传文件 └── c++ 向web服务 ...

  5. ftp服务器上传文件权限设置,ftp服务器 上传文件权限设置

    ftp服务器 上传文件权限设置 内容精选 换一换 华为云对象存储服务帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用对 ...

  6. 向上传文件服务器,向服务器上传文件

    //--------------------向服务器上传文件------ //浏览选择需要上传的文件 private static bool Unzip(string address, string ...

  7. 如何设置ftp服务器上传文件夹至不同路径,设置ftp服务器上传文件夹

    设置ftp服务器上传文件夹 内容精选 换一换 上传单个或多个本地文件或文件夹至OBS指定路径.待上传的文件可以是任何类型:文本文件.图片.视频等等.上传本地文件或文件夹时,请确保本地文件或文件夹在上传 ...

  8. 关于nutz跨服务器上传文件

    关于nutz跨服务器上传文件 发布于 578天前  作者 yong9664  770 次浏览  复制  上一个帖子  下一个帖子  标签: 无 是这样的,项目在一台服务器,文件要存储到另外一台服务器. ...

  9. 文件传输服务器的默认端口,服务器上传文件端口

    服务器上传文件端口 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. 安装传输工具 ...

最新文章

  1. php 保存表单数据,使用jquery和php自动保存表单数据
  2. java mysql 自动提交_Mybatis的JDBC提交设置/关闭mysql自动提交------关于mysql自动提交引发的惨剧...
  3. python 从尾到头打印链表
  4. 实战部署MySQL用户认证的Postfix邮件系统(3)
  5. 如何让你用 Python 年薪 40 万?答案早就写到 JD 上了
  6. bat 启动 不弹出对话框_CAD中转换出的PDF文件模糊要怎么办
  7. [高中作文赏析]相约
  8. java计算出生到现在经历了多少天
  9. LeetCode 1670. 设计前中后队列(deque)
  10. 跳蚤(POJ-1091)
  11. Matlab--m代码转C与C++代码)1(简单示例涉及到函数调用)
  12. oe_runmake failed
  13. 三段诡异的JavaScript代码,结果出乎意料
  14. python入门教程(非常详细)-Python入门教程:超详细1小时学会Python
  15. java 定义泛型方法_Java中泛型方法的定义
  16. 哈佛幸福课 24人格力量测试
  17. PLC PID优化系列之非线性参数整定(FC函数)
  18. 机器学习(算法篇)——K-近邻算法
  19. JSP九大内置对象 .
  20. 域名防封之长城防封系统都能做什么?

热门文章

  1. 问题:OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one...
  2. SpringBoot项目为什么需要引入大量的starter?如何自定义starter
  3. 在线CAD转换器,CAD转PDF一键解决
  4. 如何计算用户生命周期LT/CLT?
  5. 深度学习——ResNet超详细讲解,详解层数计算、各层维度计算
  6. android 代码 卸载app,Android在一个app中安装并卸载另一个app的示例代码
  7. 强连通分量——tarjan算法缩点
  8. STM32F4(BUZZ)
  9. 游戏编辑器制作(1)
  10. 基于MQTT的RPC协议