【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.hqwc.cn/news/587176.html

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

相关文章

小剧场短剧影视小程序源码,附带系统搭建教程

安装教程 linux/win任选 PHP版本:7.3/7.2(测试时我用的7.2要安装sg扩展 不会的加QQ295526639) 批量替换域名http://video.owoii.com更换为你的 批量替换域名http://120.79.77.163:1更换为你的 这两个都替换你的 /extend/yzf/lib/epay.config.…

H5抓包——Android 使用电脑浏览器 DevTools调试WebView

H5抓包——Android 使用电脑浏览器 DevTools调试WebView 一、使用步骤 1、电脑通过数据线连接手机,开启USB调试(打开手机开发者选项) 2、打开待调试的H5 App,进入H5界面 3、打开电脑浏览器,调试界面入口 如果用ed…

什么是域名中介?

域名中介是指在买家和卖家之间提供交易服务的中间人或机构,专门负责协助双方完成域名的买卖过程。域名中介服务通常包括但不限于以下几个方面: 1.价格谈判:协助买卖双方就域名的价格达成一致,帮助解决谈判中可能出现的疑难问题。 …

自动驾驶的世界模型:综述

自动驾驶的世界模型:综述 附赠自动驾驶学习资料和量产经验:链接 24年3月澳门大学和夏威夷大学的论文“World Models for Autonomous Driving: An Initial Survey”。 在快速发展的自动驾驶领域,准确预测未来事件并评估其影响的能力对安全性…

《QT实用小工具·七》CPU内存显示控件

1、概述 源码放在文章末尾 CPU内存显示控件 项目包含的功能如下: 实时显示当前CPU占用率。实时显示内存使用情况。包括共多少内存、已使用多少内存。全平台通用,包括windows、linux、ARM。发出信号通知占用率和内存使用情况等,以便自行显示…

【xinference】(8):在autodl上,使用xinference部署qwen1.5大模型,速度特别快,同时还支持函数调用,测试成功!

1,关于xinference Xorbits Inference (Xinference) 是一个开源平台,用于简化各种 AI 模型的运行和集成。借助 Xinference,您可以使用任何开源 LLM、嵌入模型和多模态模型在云端或本地环境中运行推理,并创建强大的 AI 应用。 Xor…

UGUI 进阶

UI事件监听接口 目前所有的控件都只提供了常用的事件监听列表 如果想做一些类似长按,双击,拖拽等功能是无法制作的 或者想让Image和Text,RawImage三大基础控件能够响应玩家输入也是无法制作的 而事件接口就是用来处理类似问题 让所有控件都…

ssm018简易版营业厅宽带系统+jsp

营业厅宽带系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本营业厅宽带系统就是在这样的大环境下诞生,其可以帮助管理者在短时间…

库存超卖问题分析

3.5 库存超卖问题分析 有关超卖问题分析&#xff1a;在我们原有代码中是这么写的 if (voucher.getStock() < 1) {// 库存不足return Result.fail("库存不足&#xff01;");}//5&#xff0c;扣减库存boolean success seckillVoucherService.update().setSql(&quo…

C语言文件操作函数详细解说

二进制文件和文本文件 二进制文件就是以二进制的形式写入文件的&#xff0c;人是看不懂的&#xff0c;而文本文件就是以ACSLL码的形式进行保存的。 举个例子&#xff0c;10000这个数字如果保存在二进制文件中就应该是0010 0111 0001 0000 &#xff0c;占四个字节&#xff1b;而…

【随笔】Git 基础篇 -- 分支与合并(九)

&#x1f48c; 所属专栏&#xff1a;【Git】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x1f496; 欢迎大…

Kubernetes(k8s):部署、使用 metrics-server

Kubernetes&#xff08;k8s&#xff09;&#xff1a;部署、使用 metrics-server 一、metrics-server简介二、部署metrics-server2.1、 下载 Metrics Server 部署文件2.2、修改metrics-server.yaml 文件2.3、 部署 Metrics Server2.4、 检查 Metrics Server 三、使用 Metrics Se…