当前位置: 首页 > news >正文

第十篇 文件上传

文件上传是指将本地(客户端)的文件通过网络传输到远程服务器的过程,是 Web 开发、客户端 / 服务端交互中最常见的功能之一。在 Java 开发场景中,通常特指浏览器(前端)或客户端程序将文件(如图片、文档、视频、压缩包等)提交到 Java 后端服务器,并由服务器接收、解析、存储(或进一步处理)的过程。

实现步骤

前端

1、必须使用表单提交

2、请求方法必须是post

3、设置表单 enctype=multipart/form-data属性

4、使用input type=file 标签,指定name属性

后端

1、使用MultipartFile类型接收文件

2、使用方法获取相应的参数

3、读取到文件后进行存储

前端代码:

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>用户详情页面</title> </head> <body> <!-- 上传 头像--> <form action="/user/login" method="post" enctype="multipart/form-data"> <div> 上传图片: <input type="file" name="userIcon" /> </div> <div> <input type="submit" value="上传头像" /> </div> </form> </body> </html>

后端代码:

/** * 演示文件上传操作 */ @RestController public class UploadFileController { /** * 文件上传方法 */ @RequestMapping("/user/login") public ResultObj uploadFile(MultipartFile userIcon) throws IOException { String originalFilename = userIcon.getOriginalFilename(); System.out.println("originalFilename = " + originalFilename); //获取原文件名称 String name = userIcon.getName(); System.out.println("name = " + name); //表示获取表单上传 文件name值 long size = userIcon.getSize(); System.out.println("size = " + size); //获取上传文件大小 String contentType = userIcon.getContentType(); System.out.println("contentType = " + contentType); //表示上传文件类型 image/png // InputStream is = userIcon.getInputStream(); //获取根据输入流表现显示 //把文件保存到指定目录下 userIcon.transferTo(new File("F://class118/" + originalFilename)); return ResultObj.ok(); } }
http://www.jsqmd.com/news/73885/

相关文章:

  • 第九篇 异常统一处理
  • 万字长文解析润乾NLQ破局Text2SQL,兼得灵活复杂准确
  • 腾讯实验室发布智能机器人导航突破:让AI像人类一样理解空间
  • 27、游戏开发:物理引擎与瓦片地图的运用
  • Typora代码块痛点破解方案
  • Wan2.2-T2V-A14B已接入某头部视频平台AI剪辑工具链
  • 基于 openFuyao 的 AI 推理加速实战:智能路由与 PD 分离式 KVCache 架构揭秘
  • 2025 年 QMS 质量管理软件权威推荐榜:智能工厂与精益制造必备的数字化管控利器 - 品牌企业推荐师(官方)
  • Java计算机毕设之基于Springboot+Vue的高校大学生心理咨询管理系统基于springboot高校大学生心理咨询管理系统(完整前后端代码+说明文档+LW,调试定制等)
  • 人工智能大模型技术突破:引领智能时代新纪元
  • 2025 年建筑加固技术权威推荐榜:碳纤维加固、粘钢加固等创新工艺深度解析与优质服务商精选 - 品牌企业推荐师(官方)
  • CVPR 2025最佳论文突破:DepthCrafter实现开放世界视频深度序列生成新范式
  • 微服务分布式事务实战:从数据一致性到故障恢复全方案
  • 140亿参数模型本地部署指南:Wan2.2-T2V-A14B安装与调优
  • 突破跨模态生成瓶颈:Step-Video-TI2V开创图生视频技术新范式
  • ViGEmBus:Windows游戏控制器模拟技术深度解析
  • 地平线苏治中:开源框架和基础模型赋能具身智能行业
  • Wan2.2-T2V-A14B能否生成企业年会创意短片?内部文化传播解决方案
  • 54、深入探索Shell编程:命令、变量与模式匹配的综合指南
  • C# 委托/事件/UnityEvent 详解
  • Wan2.2-T2V-A14B在综艺节目花絮自动生成中的尝试
  • 51单片机:了解最小核心系统
  • Flutter深度解析:从原理到实战的全栈开发指南
  • 2025年南通宠物医院权威推荐榜:专业诊疗与暖心服务口碑之选,附电话地址 - 品牌企业推荐师(官方)
  • 【专家私藏】量子算法调试秘技曝光:VSCode远程调试QPU模拟器全流程
  • MySQL基础篇——约束和事务
  • 2025 年 12 月彩钢瓦/厂房保养翻新厂家权威推荐榜:专业喷漆工艺与长效防护方案深度解析 - 品牌企业推荐师(官方)
  • 【VSCode量子编程环境搭建指南】:手把手教你5步配置Qiskit开发环境
  • 基于单片机大棚环境控制(温湿度,PH值)系统Proteus仿真(含全部资料)
  • 量子计算+机器学习调试实战(VSCode高阶技巧全公开)