SpringBoot2:web开发常用功能实现及原理解析-上传与下载

文章目录

  • 一、上传文件
    • 1、前端上传文件给Java接口
    • 2、Java接口上传文件给Java接口
  • 二、下载文件
    • 1、前端从Java接口下载文件
    • 2、Java接口调用Java接口下载文件

一、上传文件

1、前端上传文件给Java接口

Controller接口
此接口支持上传单个文件和多个文件,并保存在本地


import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;import java.io.File;
import java.io.IOException;/*** 文件上传测试*/
@Slf4j
@RestController
public class FileTestController {/*** MultipartFile 自动封装上传过来的文件* @param headerImg* @param photos* @return*/@PostMapping("/upload")public String upload(@RequestPart("headerImg") MultipartFile headerImg,@RequestPart("photos") MultipartFile[] photos) throws IOException {log.info("上传的信息:headerImg={},photos={}",headerImg.getSize(),photos.length);if(!headerImg.isEmpty()){//保存到文件服务器,OSS服务器String originalFilename = headerImg.getOriginalFilename();headerImg.transferTo(new File("E:\\workspace\\boot-05-web-01\\headerImg\\"+originalFilename));}if(photos.length > 0){for (MultipartFile photo : photos) {if(!photo.isEmpty()){String originalFilename = photo.getOriginalFilename();photo.transferTo(new File("E:\\workspace\\boot-05-web-01\\photos\\"+originalFilename));}}}return "OK";}}

yaml配置

spring:servlet:multipart:max-file-size: 10MBmax-request-size: 100MB

Postman调用传参
在这里插入图片描述

2、Java接口上传文件给Java接口

二、下载文件

1、前端从Java接口下载文件

2、Java接口调用Java接口下载文件

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

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

相关文章

伙房食堂电气安全新挑战:油烟潮湿环境下,如何筑起电气火灾“防火墙”?

近几年,随着我国经济的飞速发展,食堂餐饮也经历了一场变革,越来越多的电器走进了伙房食堂中,实现了电气化,为人们提供了高效便利的饮食服务,但同时也增加了火灾负荷。目前我国非常严重的电气火灾危害&#…

IBM中国研发中心撤出:挑战与机遇并存

IBM中国研发中心撤出:挑战与机遇并存 引言 近日,IBM宣布撤出在中国的两大研发中心的消息,引起了广泛关注。这一举动不仅对IBM自身的全球布局产生了影响,也在一定程度上反映了跨国公司在中国市场策略的调整。本文将探讨这一事件背…

服务器重装Ubuntu20.04(desktop)

引言 实验室服务器因为删除了一些底层文件导致系统无法恢复(还好没有数据有备份),所以在此告诫广大朋友,有一些底层文件不要说删就删。好的,接下来我们开始重装系统。 准备工作 准备好重装系统的材料如下&#xff1…

odoo14 | 报错:Database backup error: Access Denied

这两天抽空想为自己快速做一个简单的管理系统,来信息化管理一下自己家里的一些菜谱、电视剧下载清单等事情,我又不想大动干戈的用Java写管理系统,我就想用已经手生了两年半的odoo快速搭一个系统用用得了,结果还遇上了这么个事 根…

【数据结构与算法 | 灵神题单 | 插入链表篇】力扣2807, LCR 029, 147

1. 力扣2807:在链表中插入最大公约数 1.1 题目: 你一个链表的头 head ,每个结点包含一个整数值。 在相邻结点之间,请你插入一个新的结点,结点值为这两个相邻结点值的 最大公约数 。 请你返回插入之后的链表。 两个…

大数据新视界 --大数据大厂之Flink强势崛起:大数据新视界的璀璨明珠

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

【网络安全】服务基础第二阶段——第四节:Linux系统管理基础----Linux网络与日志服务器

目录 一、Linux基础知识 1.1 Linux系统常用目录及命令 1.1.1 常用目录 1.1.2 常用命令 1.1.3 Linux系统文件和命令 1.1.3 文件操作 1.1.4 文件打包和压缩 1.1.5 Linux系统包管理 1.1.6 RPM命令 二、YUM 2.1 YUM 2.1.1 YUM工具 2.1.2 YUM配置 2.2 YUM源安装前置准…

机器人的静力分析与动力学

参考链接:4-13刚体的惯性张量_哔哩哔哩_bilibili4-13刚体的惯性张量, 视频播放量 6540、弹幕量 2、点赞数 79、投硬币枚数 38、收藏人数 145、转发人数 23, 视频作者 每一天都应不同, 作者简介 ROS1是DCS,ROS2是FCS,相关视频:机器人动力学拉格…

(八) 初入MySQL 【主从复制】

案例概况 在企业应用中,成熟的业务通常数据量都比较大 单台MySQL在安全性、 高可用性和高并发方面都无法满足实际的需求 ,所以需要配置多台主从数据库服务器以实现读写分离来满足需求 一、主从复制原理 1.1、 MySQL的复制类型 基于语句的复制(STATEME…

从0开始的算法(数据结构和算法)基础(十一)

回溯算法 什么是回溯算法 回溯算法,根据字面意思来理解这个算法是将每一步的操作可以进行回溯,实际上是对这个每一步的操作进行记录,确保可以返回上一步的操作,可能是对回溯操作之前的做一个复现,也有可能是可操作的回…

神经网络中的那些浮点数

模型进行需要大量显存和算力进行支持,精度越高需要的内存和算力也越多,本文将介绍在模型中使用的不同类型的浮点数。 FP32 (Float32): • 精度和稳定性:FP32 提供 23 位尾数和 8 位指数的高精度 • 性能:尽管 FP32 是通…

学习大数据DAY56 业务理解和第一次接入

作业1 1 了解行业名词 ERP CRM OA MES WMS RPA SAAS 了解每个系统的功能和应用 ERP 系统,(Enterprise Resource Planning,企业资源计划系统):ERP 系统 是一种用于管理企业各类资源的软件系统,包括生产管理…

极狐GitLab CI/CD 作业一直处于等待状态,如何解决?

本分分享 GitLab CI/CD Job 不工作的的故障排查方法:当 GitLab Runner 不接受 Job,Job 一直处于等待状态,如何解决此问题。 极狐GitLab 为 GitLab 在中国的发行版,中文版本对中国用户更友好。极狐GitLab 支持一键私有化部署&…

【Hot100】LeetCode—72. 编辑距离

目录 1- 思路题目识别动规五部曲 2- 实现⭐72. 编辑距离——题解思路 3- ACM 实现 原题链接:72. 编辑距离 1- 思路 题目识别 识别1 :两个字符串之间相互转换,增、删、替换 最少的操作次数 动规五部曲 1- 定义 dp 数组 dp[i][j] 代表&…

如何增加Google收录量?

想增加Google收录量,首先自然是你的页面数量就要多,但这些页面的内容也绝对不能敷衍,你的网站都没多少页面,谷歌哪怕想收录都没办法,当然,这是一个过程,持续缓慢的增加页面,增加网站…

11.5.软件系统分析与设计-面向对象的程序设计与实现

面向对象的程序设计与实现 设计模式 Java代码 C代码

神经网络案例实践之单层感知器求解-学习篇

二维线性分类问题 单层感知器作为线性分类器被广泛应用 问题分析: 首先给了五个输入样本,输入样本和位置信息如下所示,现在要学习一个模型,在二维空间中把两个样本分开,输入数据是个矩阵,矩阵中有五个样本…

手写排班日历

手写排班日历&#xff1a; 效果图&#xff1a; vue代码如下&#xff1a; <template><div class"YSPB"><div class"title">排班日历</div><div class"banner"><span classiconfont icon-youjiantou click&qu…

jmeter设置全局token

1、创建setup线程&#xff0c;获取token的接口在所有线程中优先执行&#xff0c;确保后续线程可以拿到token 2、添加配置原件-Http信息头管理器&#xff0c;添加取样器-http请求 配置好接口路径&#xff0c;端口&#xff0c;前端传参数据&#xff0c;调试一下&#xff0c;保证获…

影刀RPA实战:自动化同步商品库存至各大电商平台(二)

在当今的电商世界中&#xff0c;多平台运营已成为常态。商家需要在多个电商平台上维护商品库存的一致性&#xff0c;以确保顾客体验的流畅性和库存管理的高效性。运营人员每天面临的问题&#xff0c;就是把公司的商品库存数据&#xff0c;间断性的同步到电商平台上&#xff0c;…