Spring Boot 文件上传后端获取为null
前言
今天学习使用springboot实现文件上传与下载功能,在实现文件上传的时候代码都没问题,但是每次提交后端都包空指针异常,最后发现获取的file为null。
先看代码
前端代码
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>文件上传</title>
</head>
<body>
<div style="text-align: center"><form action="/uploadFile" method="post" enctype="multipart/form-data">上传:<input type="file" name="filename"/><input type="submit" value="submit"/></form>
</div>
</body>
</html>
控制器代码
package com.hjk.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;import java.io.File;
import java.io.IOException;@Controller
public class FileController {@GetMapping("/toUpload")public String toUpload(){return "upload";}@RequestMapping(value = "/uploadFile",method = RequestMethod.POST)public String uploadFile(MultipartFile file){String filename = file.getOriginalFilename();String dirPath = "D:/file/";File filePath = new File(dirPath);if (!filePath.exists()){filePath.mkdir();}try {file.transferTo(new File(dirPath+filename));} catch (IOException e) {e.printStackTrace();}return "upload";}}
解决方式
我也看了很多博客,有的说是没有注册multipartResolver这个Bean,有的说是版本问题等等,还有的说是前端没有设置enctype类型。按照他们的方式我都进行了修改,但是我这个问题还是没有解决。
最终实现: 最后我在控制器方法里面参数加上了@RequestParam注解,这个后端就能获取文件了。
@RequestPara(“filename”)必须获取参数名为filename的file参数
@RequestParam()默认为必传属性,可以通过@RequestParam(required = false)设置为非必传。因为required值默认是true,所以默认必传
@RequestParam(“filename”)或者@RequestParam(value = “filename”)指定参数名
@RequestParam(defaultValue = “0”)指定参数默认值
最后代码
package com.hjk.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;import java.io.File;
import java.io.IOException;@Controller
public class FileController {@GetMapping("/toUpload")public String toUpload(){return "upload";}@RequestMapping(value = "/uploadFile",method = RequestMethod.POST)public String uploadFile(@RequestParam("filename") MultipartFile file){String filename = file.getOriginalFilename();String dirPath = "D:/file/";File filePath = new File(dirPath);if (!filePath.exists()){filePath.mkdir();}try {file.transferTo(new File(dirPath+filename));} catch (IOException e) {e.printStackTrace();}return "upload";}}
我的这个springboot版本是2.6.6至于真正原因现在不想思考了,等以后遇到再改吧。不知道这个对你有没有帮助。
Spring Boot 文件上传后端获取为null相关推荐
- vueform表单文件上传_峰哥说技术系列-8.Spring Boot文件上传(Form表单和Ajax方式)
今日份主题 Spring Boot文件上传(Form表单和Ajax方式) 在Spring Boot中,和文件上传的主要和MultipartResolver接口有关,他有两个实现类 StandardSe ...
- 全栈开发实战|Spring Boot文件上传与下载
文件上传与下载是Web应用开发中常用的功能之一.接下来我们将讨论如何在Spring Boot的Web应用开发中,如何实现文件的上传与下载. 01.Spring Boot文件上传与下载 在实际的Web应 ...
- Spring Boot文件上传及回显(单/多文件)
一.单文件上传 1.前端页面 <!DOCTYPE html> <html lang="en"> <head><meta charset=& ...
- spring boot 文件上传工具类(bug 已修改)
以前的文件上传都是之前前辈写的,现在自己来写一个,大家可以看看,有什么问题可以在评论中提出来. 写的这个文件上传是在spring boot 2.0中测试的,测试了,可以正常上传,下面贴代码 第一步:引 ...
- Spring Boot 文件上传
其实网上已经有很多这样的文章了.为什么我还要记录一下呢?原因是在工作中对接外系统时,碰到了他们调取我们文件上传接口确存在着http请求头部规范的情况,从而导致用传统方法获取不到参数.今天就来整理下Sp ...
- Spring MVC,Spring Boot文件上传
在传统的ssm项目开发时,如果用到文件上传,一般是在xml配置文件中,定义bean, <bean id="multipartResolver" class="org ...
- Spring Boot文件上传示例
一.创建一个简单的包含WEB依赖的SpringBoot项目 pom.xml内容: <!-- Spring Boot web启动器 --> <dependency><gro ...
- Spring Boot教程(十三):Spring Boot文件上传
分享一个零基础,通俗易懂,而且非常风趣幽默的人工智能教程(如不能直接点击访问,请以"右键"->"在新标签页中打开链接"方式打开)网站,网址:https:/ ...
- Spring Boot文件上传
一.创建一个简单的包含WEB依赖的SpringBoot项目 二.配置文件上传的文件大小限制 # 上传文件总的最大值 spring.servlet.multipart.max-request-size= ...
最新文章
- jdbc mysql 返回游标_使用JdbcTemplate流式(游标)读取数据库
- 2021年宝鸡中学高考成绩查询,宝鸡各高中2020年高考喜报成绩一览
- excel 如何用vba将某一条记录移动到另一张工作表中_EXCEL常用快捷键
- java编程_Java编程和C语言的比较
- 对于个人(注册表)与团队(团队表)(两张表没有关联)的展示与可空判断
- 训练日志 2019.3.10
- python etree pandas_python爬虫Xpath,pandas示例
- (3~4):C实现数组选择排序
- 9个适合web开发人员的CSS工具
- Linux ssh 允许 root用户 登录
- 【数据结构和算法笔记】数组(数组的储存方式和特殊矩阵的压缩储存)
- mysql coreseek_关于mysql中文全文检索Sphinx之coreseek
- Vue插件-json编辑器
- 【Axure PR原型模板】微信公众小程序手机移动端高保真交互原型
- UE 编辑器无法保存文件(图表被连接到外部包中的私有对象)
- 5000字:一文看懂用户运营之增长八卦模型
- Windows11无法打开 WindowsTerminal 图形化设置界面
- Lightroom导入JPG格式的图像
- 美国计算机专业nlp大学排名,美国人工智能专业排名前十的学校
- 基于多时间尺度滚动优化的多能源微网双层调度模型
热门文章
- Abb通过OPC UA 和PLC进行通讯
- STC89C52RC单片机实现闪烁灯的几种编程实现。
- XenDesktop7.12发布应用程序
- ie下载java就花屏,“浏览器花屏的解决方案”的解决方案
- GCN实战深入浅出图神经网络第五章:基于Cora数据集的GCN节点分类 代码分析
- java编码格式的转换以及乱码恢复
- VST3主机开发(二)——插件调用
- 如何在看到美景美人时拍出惊艳的照片《数码摄影从入门到精通》
- 关于936A 936B 936C发热芯 A1321 A1322 A1323的区别
- python电路仿真_Python创建PWL用于SPICE仿真