【JavaEE】_Spring MVC项目上传文件

目录

1. 文件上传具体实现

2. 保存文件


1. 文件上传具体实现

.java文件内容如下:

package com.example.demo.controller;import com.example.demo.Person;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;import java.util.Arrays;
import java.util.List;@RequestMapping("/Para")
@RestController
public class ParaController {@RequestMapping("/M10")public String m10(@RequestPart MultipartFile file){System.out.println(file.getOriginalFilename());return "File accepted successfully.";}
}

运行后,使用postman构造HTTP请求:

(一般在请求body中,使用form表单传送二进制、图片、文件类型的数据)

第一步:在请求的body栏选择form-data,新增项令key为file,打开隐藏栏选择File,再在value列选择文件:

第二步:选择文件进行上传并发送:

第三步:查看服务器日志:

请注意:

1. 前端请求中body的key名需与后端.java文件对应方法的参数名保持一致

2. 在后端方法中的参数需要使用@RequestPart注解

2. 保存文件

当服务器接收到客户端上传的文件后,可以将该文件保存下来。

大型开发中,或会单独使用一个文件服务器保存客户端上传的文件。

在本阶段学习过程中,以保存在服务器本机上为例,后端.java文件内容如下:

package com.example.demo.controller;import com.example.demo.Person;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;@RequestMapping("/Para")
@RestController
public class ParaController {@RequestMapping("/M10")public String m10(@RequestPart MultipartFile file) throws IOException {System.out.println(file.getOriginalFilename());file.transferTo(new File("E:/ASSISTFILE/"+file.getOriginalFilename()));return "File accepted successfully.";}
}

重新启动,使用postman构造HTTP请求(与上例相同):

根据设置的文件保存目录进行查看:

可见文件上传成功;

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

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

相关文章

拒绝服务攻击(Dos)与Tomcat的解决方法

拒绝服务攻击Dos 拒绝服务攻击(Denial of Service,DoS)是一种网络攻击,旨在使目标系统无法提供正常的服务,使其无法响应合法用户的请求。这种攻击通过消耗目标系统的资源,例如带宽、处理能力或存储空间&am…

【C语言数据库】Sqlite3基础介绍

1. SQLite简介 SQLite is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine. SQLite is the most used database engine in the world. SQLite is built into all mobile phones and most computer…

DM数据库状态

DM 数据库包含以下几种状态: 配置状态(MOUNT): 不允许访问数据库对象,只能进行控制文件维护、归档配置、数据库模式修改等操作;打开状态(OPEN): 不能进行控制文件维护、…

day4|gin的中间件和路由分组

中间件其实是一个方法, 在.use就可以调用中间件函数 r : gin.Default()v1 : r.Group("v1")//v1 : r.Group("v1").Use()v1.GET("test", func(c *gin.Context) {fmt.Println("get into the test")c.JSON(200, gin.H{"…

特征融合篇 | YOLOv8改进之将Neck网络更换为GFPN(附2种改进方法)

前言:Hello大家好,我是小哥谈。GFPN(Global Feature Pyramid Network)是一种用于目标检测的神经网络架构,它是在Faster R-CNN的基础上进行改进的,旨在提高目标检测的性能和效果。其核心思想是引入全局特征金字塔,通过多尺度的特征融合来提取更丰富的语义信息。具体来说,…

JVM面试题(二)

###1. 对象的访问定位的两种方式? Java对象的访问定位主要有两种方式:句柄访问和直接指针访问。 句柄访问: 在句柄访问方式中,Java堆会被划分为两部分:一部分存放对象实例数据,另一部分存放对象实例数据的…

FPGA + 图像处理 (二) RGB转YUV色域、转灰度图及仿真

前言 具体关于色域的知识就不细说了,简单来讲YUV中Y通道可以理解为就是图像的灰度图,因此,将RGB转化为YUV是求彩色图的灰度直方图、进行二值化操作等的基础。 HDMI时序生成模块 这里先介绍一下仿真时用于生成HDMI时序,用这个时…

自贡市第一人民医院:超融合与 SKS 承载 HIS 等核心业务应用,加速国产化与云原生转型

自贡市第一人民医院始建于 1908 年,现已发展成为集医疗、科研、教学、预防、公共卫生应急处置为一体的三级甲等综合公立医院。医院建有“全国综合医院中医药工作示范单位”等 8 个国家级基地,建成高级卒中中心、胸痛中心等 6 个国家级中心。医院日门诊量…

Ubuntu 23.04 安装es

在Ubuntu 23.04上安装Elasticsearch的过程可能与之前版本类似,以下是基于最新稳定版Elasticsearch的一般安装步骤: 准备工作: 确保系统已更新至最新版本: sudo apt update && sudo apt upgrade安装Java Development Kit (…

【Tomcat】Apache官方结束Tomcat 8.5分支版本技术支持

根据 Apache 官方发布的声明,Apache官方将于2024年3月31日后正式结束对于Tomcat 8.5这个分支版本的技术支持,包括以下几点: 1)不太可能继续为 8.5 分支发布新的版本; 2)仅影响 8.5 分支的漏洞将不会被解决&…

时空序列预测模型—PredRNN(Pytorch)

https://cloud.tencent.com/developer/article/1622038 (强对流天气临近预报)时空序列预测模型—PredRNN(Pytorch) 代码分为3文件: PredRNN_Cell.py #细胞单元 PredRNN_Model.py #细胞单元堆叠而成的主干模型 PredRNN_Main_Seq2seq_test.py #用于外推的Seq2seq 编…

【Docker】搭建便捷的Docker容器管理工具 - dockerCopilot

【Docker】搭建便捷的Docker容器管理工具 - dockerCopilot 前言 本教程基于绿联的NAS设备DX4600 Pro的docker功能进行搭建。前面有介绍过OneKey,而dockerCopilot便是OneKey的升级版,作者对其进行了重新命名,并且对界和功能都进行了全面的优…

负载均衡集群

一、集群的基本原理 集群:数据内容是一致的,集群可以被替代 分布式:各司其职,每台服务器存储自己独有的数据,对外作为单点被访问是访问整体的数据; 分布式是不能被替代的;分布式分为MFS、GFS、…

结构体内存对齐和位段(重点)!!!

乐观学习,乐观生活,才能不断前进啊!!! 我的主页:optimistic_chen 我的专栏:c语言 点击主页:optimistic_chen和专栏:c语言, 创作不易,大佬们点赞鼓…

数据结构栈和堆列

目录 栈: 栈的概念: 栈的实现: 栈接口的实现: 1.初始化栈: 2.入栈: 3.出栈: 4. 获取栈顶元素: 5.获取栈中有效数据的个数: 6.检测栈是否为空,如果为…

谈谈SSH整合--一起学习吧之系统架构

SSH整合是一种非常实用的Web应用程序开发框架,能够大大提高开发效率和应用程序的质量。 一、定义 SSH整合是指将Spring、Hibernate和Struts2这三个框架进行集成,形成一个统一的Web应用程序开发框架。这种整合可以大大提高开发效率和应用程序的稳定性。…

【备忘录】docker-maven-plugin 使用

在使用docker-maven-plugin 插件时,经常会碰到一些奇怪的问题: 比如: 1、docker远程访问时,认证安全问题? 2、dockerHost 访问地址准确性? 3、需要多个tag时如何处理? 4、push 到仓库时&#xf…

Java代码示例:演示多态特性及子类方法重写(day17)

java代码里面体现多态的特点: 第一步创建一个父类father, 然后创建子类subclasses, 最后创建一个DemoMulti, 上面的父类特有的方法不是私有的,因此子类能够继承。 新建一个父类方法Father 创建子类subclasses 在下面的代码中…

LabVIEW深度学习

目录 一、配置环境1.1、显卡选择1.2、下载显卡驱动1.3、下载并安装Anaconda1.4、配置Anaconda软件包下载服务器1.5、配置虚拟环境tf_gpu1.6、安装vscode1.7、安装tensorflow1.8、下载安装Git1.9、安装TensorFlow Object Detection API框架1.10、安装依赖的python软件包1.11、配…

Python 简单使用 RabbitMQ

一、安装 pip install pika 二、推送消息到队列中 执行pythone方法 import pika import time# 用户名和密码 user_info pika.PlainCredentials(admin,admin)# 连接服务器上的rabbitMQ服务 connection pika.BlockingConnection(pika.ConnectionParameters(127.0.0.1, 5672,…