11-文件上传

news/2025/10/27 17:21:31/文章来源:https://www.cnblogs.com/benzhong/p/19169660
11-文件上传

文件上传和下载的原理

image


文件上传


从浏览器上传文件的时候需要对文件进行限制

这个限制是在配置文件里面配置
一以下是SpringMVC的配置方式(后续使用springboot的时候会比这个简单)
image


文件上传的实现


1.文件上传的依赖

image

2.上传单个文件

  • 表单的实现
    image
  • 添加action 找到对应的接口
    image
  • 如果是提交文件那么表单的请求方式是post因为post方式没有大小限制
    image
  • 前端上传是默认以字符串方式传递的,而我们的文件是字节,不是字符串,所以此时需要指定以字节的方式上传
    image

  • 接口的实现
    文件被封装在MultipartFile里面
    image

  • 此时后端确实已经接收到了文件
    image

  • 此时将后端接收到的文件保存到磁盘
    image
    image
  • 处理异常!如果没有上传文件就不做IO
    image
  • 异常处理:防止用户篡改页面,所以判断文件是否存在

image

  • 文件异常:如果上传的文件名是相同的话怎么办?==》此时将文件名改为随机数或者是时间相关的东西
    image
  • 文件异常:万一文件没有后缀怎么办呢???此时截取不了文件后缀。所以在上传文件的时候保证文件要有一个“点”==》“.”
    image

3.上传多个文件:加一个multiple

  • 表单的实现
    image

  • 接口实现
    刚才上传单个文件的时候是使用一个对象接收,所以现在使用数组接收就OK了,其他逻辑基本和上面的一样。
    所以就只是加一个数组+遍历
    image
  • 问题:万一数组为空?(由前端没有key导致)
    image
  • 问题:一个文件没提交
    image

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/947930.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

wqe

wqe报告名称:AR(Active Area Reverse)fin cut工艺业务需求与数据目标报告(深度调研增强版) 版本:V1.2 日期:2025-9-4 编制人:[李晓睿/数字智能部] 审核人:[姓名/部门] 引言 1.1 背景与业务场景项目发起背景(…

集采带量下医疗器械生产厂家如何通过数字化转型实现降本增效

数字化管理系统正在成为医疗器械生产厂家应对集采挑战的“手术刀”,精准切除管理冗余和效率低下的痛点。数字化管理系统正在成为医疗器械生产厂家应对集采挑战的“手术刀”,精准切除管理冗余和效率低下的痛点。 “订…

告别命名误区!深度剖析TurtleBot3 vs. TurtleBot4 开源平台

一. TurtleBot3与TurtleBot4非“前任”与“继任”的关系 在高校机器人科研与教学领域,TurtleBot系列一直是ROS入门与原型验证的热门选择。当TurtleBot4推出后,许多老师不禁产生一个疑问:是否TurtleBot3已经过时?命…

2025年锌铝镁桥架公司、口碑好的锌铝镁桥架品牌、行业内锌铝镁桥架供应商、锌铝镁桥架公司推荐榜、靠谱的锌铝镁桥架供应厂家综合评测

文章摘要 锌铝镁桥架作为电缆敷设的关键组件,在2025年随着基础设施建设和智能电网发展,行业需求持续增长,预计市场规模年复合增长率达8%-10%。本文基于行业数据、用户口碑和公司实力,综合评测前十名锌铝镁桥架供应…

嵌入式基础--第七周作业--OLED显示

一.I2C协议的基本原理和时序协议 一、I2C 协议的基本原理 I2C协议的核心设计思想是用最少的连线实现多个器件之间的通信。它只需要两根线:SDA:串行数据线,用于传输数据。SCL:串行时钟线,用于同步时钟。核心特性 半…

TensorFlow与PyTorch深度对比分析:从基础原理到实战选择的完整指南 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

102302105汪晓红作业1

作业1 作业①:用requests和BeautifulSoup库方法定向爬取给定网址 http://www.shanghairanking.cn/rankings/bcur/2020 的数据,屏幕打印爬取的大学排名信息。 代码与结果 核心代码:点击查看代码#设置headers,模拟浏览…

【IEEE出版 | 重庆邮电大学主办 | 多届次、高层次】第六届人工智能与计算机工程国际学术会议(ICAICE 2025)

第六届人工智能与计算机工程国际学术会议(ICAICE 2025)将于2025年11月7-9日在重庆召开。【早鸟优惠、学生优惠、团队优惠、学生友好】 【重庆邮电大学主办|多届次、高层次】 第六届人工智能与计算机工程国际学术会议…

普通幂转下降幂

一个 trick。更新日志 2025/10/27:开工。概念 一个小 trick,利用第二类斯特林数将普通幂转化成下降幂。 思路 \[v^k=\sum_{i=0}^{\min(v,k)} {k\brace i}v^{\underline{i}}=\sum_{i=0}^{\min(v,k)}{k\brace i}\binom…

解决Java项目在复杂网络环境下访问外网不通的问题

解决Java项目在复杂网络环境下访问外网不通的问题 问题描述 在企业内部或本地开发环境中,Java项目经常遇到无法访问外网API或资源的情况。这是由于复杂的网络环境导致的,常见的网络限制包括:防火墙策略限制 代理服务…

私有2.4G无线对讲机方案:BLE芯片+PA芯片

在许多需要团队协作的场景中,清晰、即时、稳定的沟通是效率和安全的关键。传统对讲机笨重、频道申请麻烦;而手机通话则成本高、组群不便,在复杂环境中信号更是堪忧。在商场、仓库、景区等场景中,即时通信的稳定性与…

PyCharm 2024超详细下载安装教程(附安装包+激活教程)超详细图文步骤

目录一、PyCharm 2024 介绍二、PyCharm 2024安装包网盘下载三、PyCharm 2024 安装教程及激活教程1.解压PyCharm 2024安装包2.启动PyCharm 2024安装程序3.点下一步4.选PyCharm 2024安装位置5.勾选PyCharm 2024安装选项6…

发布会回顾|袋鼠云发布多模态数据中台,重构AI时代的数据底座

在AI全面渗透产业的浪潮中,数据平台的能力边界正在被重新定义。在2025袋鼠云秋季数智发布会上,袋鼠云重磅发布“数栈多模态数据中台”,标志着数栈正式完成从结构化数据中台向AI时代“全模态、全场景”的全面升级。袋…

Docker容器里面部署的Jenkins的Java17升级到21版本(无需删除之前容器,内部在线升级) - 攻城狮

发现Jenkins出现了如此提示: Java 17 end of life in JenkinsYou are running Jenkins on Java 17, support for which will end on or after Mar 31, 2026. Refer to the documentation for more details. 原因是ja…

布谷直播系统源码:高并发直播架构设计到搭建部署配置

在移动互联网时代,直播已成为内容传播、电商带货和社交互动的核心载体。面对动辄百万甚至千万级的瞬时用户涌入,如何构建一个稳定、流畅、可扩展的高并发直播系统,是每个技术团队必须攻克的堡垒。山东(泰安)布谷科技…

25.10.27联考题解

CF2110D 求最小值的问题可以考虑转化成二分答案然后判断合法性。于是先二分答案,然后发现判断合法性本质就是判断连通性,因为是 DAG 于是考虑拓扑排序维护到一个点的合法最大值即可。 B 考虑 \(k=0\) 怎么做?我们直…

医疗器械行业数字化破局:一体化平台正在淘汰多系统集成模式

当“系统集成”消耗企业30%IT预算的时代即将结束,一体化架构正重新定义医疗供应链数字化当“系统集成”消耗企业30%IT预算的时代即将结束,一体化架构正重新定义医疗供应链数字化 “我们使用了五套系统,CRM管客户、E…

报表知识

FORM frm_pf_status USING lt_status_name TYPE slis_t_extab. SET PF-STATUS PF_1000EXCLUDING lt_status_name. . ENDFORM. DATA: gt_excluding TYPE slis_t_extab. " ALV工具栏按钮排除表 CLEAR gt_excluding…

【IEEE出版 | 往届均已完成见刊检索 | 见刊检索稳定】第七届信息与计算机前沿术国际学术会议(ICFTIC 2025)

第七届信息与计算机前沿技术国际学术会议(ICFTIC 2025)将在中国青岛举行,会期是2025年12月5-7日。【中国石油大学(华东)、山东省智能人工学会、山东计算机学会主办】 【往届均已完成见刊检索,见刊检索稳定】 第七届信…

动态点分树

讲解动态点分树,附例题及代码。更新日志 2025/10/27:开工。概念 首先你应当会点分树。 动态点分树可以支持每次加一个叶子结点并动态维护点分树结构平衡的数据结构。 思路 利用替罪羊树的思想,考虑 \(\alpha\) 重构…