笔记

7、SpringBoot2.x文件上传实战
    简介:讲解HTML页面文件上传和后端处理实战
        1、讲解springboot文件上传 MultipartFile file,源自SpringMVC
                        
            1)静态页面直接访问:localhost:8080/index.html
                注意点:
                    如果想要直接访问html页面,则需要把html放在springboot默认加载的文件夹下面
            2)MultipartFile 对象的transferTo方法,用于文件保存(效率和操作比原先用FileOutStream方便和高效)
            
            访问路径 http://localhost:8080/images/39020dbb-9253-41b9-8ff9-403309ff3f19.jpeg

访问HTML静态页面

上节课加的 主要用来路径跳转用 Thymleaf

注释掉后。html页面就必须放在它的可文件下面

用Thymeleaf 。放在templates下的就必须这么跳转才能找到index.html

如果不用Thymeleaf就必须把静态页放在static或者resources下
在static下放了一个index.html页面

输出的内容

可以直接访问到,因为页面在static下。这样访问不依赖api跳转。

文件上传

在static下新建了静态页

文件提交的 就必须设置form的 enctype="multipart/form-data"

这里还引入了一个test.js文件

直接输入upload.html

在上节课的FileController上新加一个方法
filePath就是文件存储的路径

@RequestMapping的upload

就是对应form表单的upload

head_Img对应

HttpServletRequest用于获取其他的表单字段。例如姓名

MultipartFile继承自InputStreamSource

里面有些方法。getName就是获取文件名称。
getOriginalFileName原始名称
ContentType 文件类型
4
transferTo保存文件,传递一个File对象就可以了。

这个路径是当前项目的路径




新建类JosnData用来包装上传后返回的对象,就两个属性

生成get和set和生成一个有参数的构造函数。有参构造 只要code和msg

返回对象设置为jsonData

action内返回的数据

最终代码

重启应用-测试


选择图片直接上传



访问这个图片。直接是images文件夹后面跟着图片的名称

再次上传,把名字也传递过去


把JsonData的构造函数加上data的数据


再次运行测试




console的输出

总结

接口可以加一些校验

转载于:https://www.cnblogs.com/wangjunwei/p/11396810.html

小D课堂 - 零基础入门SpringBoot2.X到实战_第2节 SpringBoot接口Http协议开发实战_12、SpringBoot2.x文件上传实战...相关推荐

  1. 【零基础入门SpringBoot2】—— 核心功能_配置文件与Web开发

    一.配置文件

  2. L2、L3协议开发之以太网交换机基础

    1.以太网的基础 以太网是一种能够使计算机进行相互传递信息的介质,它利用二进制位形成一个个的字节,这些字节然后组合成一帧帧的数据.帧有一个起点,我们称之为帧头:也有终点,我们称之为作帧尾.在每个帧报头 ...

  3. python基础入门大作业怎么做_【百度飞桨】零基础Python课程大作业

    转眼间百度飞桨的零基础python课程马上就要结束了,所谓年前学python,年后来上号,通过本次课程可以对python有一个基础的认知和掌握,以下是大作业的个人代码,仅供参考. [作业一] #创建S ...

  4. java基础入门第二版思维导图,Java 学习--你应该有份思维导图了(基础篇)

    每一门知识,除了理解它的一些原理用法之外,我觉得还有一点比较重要,那就是多整理笔记做总结. 以下是我自己亲自整理的关于 Java 学习的思维导图,分享出来希望能对大家在学习 Java 过程中有所帮助, ...

  5. C语言 *p++/*(p)++/*(p++)/*p++ - C语言零基础入门教程

    目录 一.简介 二.*p++ 三.*++ p/++ *p 四.* (p++)与*(++p) 五.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 ...

  6. 慕课学习史上最全零基础入门HTML5和CSS笔记

    慕课学习史上最全零基础入门HTML5和CSS笔记 Html和CSS的关系 学习web前端开发基础技术需要掌握:HTML.CSS.JavaScript语言.下面我们就来了解下这三门技术都是用来实现什么的 ...

  7. c语言用if语句abc输出最大值,C语言基础入门选择结构-if语句(78页)-原创力文档...

    C语言基础入门选择结构-if语句_电脑基础知识_IT/计算机_专业资料.第9单元选择结构-if语句<程序设计基础>北京八维研修学院第1节选择结构导入?... <程序设计基础> ...

  8. Android基础入门教程——2.3.1 TextView(文本框)详解

    Android基础入门教程--2.3.1 TextView(文本框)详解 标签(空格分隔): Android基础入门教程 本节引言: 学习完Android中的六大布局,从本节开始我们来一个个讲解And ...

  9. 大数据基础入门 ------文章来源于:某个入门课程

    文章目录 第一课:大数据基础入门 什么是大数据? java和大数据的关系 学习大数据需要的基础和路线 第二课:Hadoop的背景起源 一 分布式存储 如何解决大数据的存储?(HDFS) 第三课: ha ...

  10. 最新Android基础入门教程目录(完结版)

    第一章:环境搭建与开发相关(已完结 10/10) https://blog.csdn.net/coder_pig/article/details/50000773 Android基础入门教程--1.1 ...

最新文章

  1. 首发 | 13篇京东CVPR 2019论文!你值得一读~ 技术头条
  2. Linux与云计算——第二阶段Linux服务器架设 第八章:FTP服务器架设—安装配置FTP服务和客户端配置...
  3. Java提高班(一)Thread详解
  4. kubenetes中YAML的字段解释
  5. OpenCV ChArUco角的检测
  6. 《leetcode》valid-sudoku
  7. 自已脚本开发常用的底层方法
  8. Cmd Markdown 编辑阅读器
  9. 大数据技术之kafka (第 3 章 Kafka 架构深入 ) 消费者组案例
  10. 微软web服务器组件,iis8.0安装包微软Web服务器组件 官方版
  11. 能提升你的东西,都不在舒适区
  12. SFB 项目经验-29-批量-启用用户-启用企业语音-设置分机号(项目中)
  13. 论文笔记_S2D.33_2015-ICCV_使用单个多尺度卷积网络,预测深度、表面法线和语义标签
  14. Linux内核部件分析 更强的链表klist
  15. envi精度评定_利用ArcGIS+envi实现遥感分类精度评价(分层抽样法),ArcGISENVI,评估,的...
  16. 网页与服务器数据库数据交互,网页与ACCESS数据库如何实现数据交互?
  17. 【转】地址线和数据线的计算
  18. Java第十九天:mysql(二)
  19. 乐视2能刷原生android,乐视2高通版(S2) 魔趣OS 安卓9 MagiskV21版 完美ROOT 纯净完美 原生极简 纯净推荐...
  20. Windows日志分析(中)

热门文章

  1. java jre 1.8_安装java1.8和配置环境变量
  2. 拓端tecdat|R语言回测交易:根据历史信号/交易创建股票收益曲线
  3. 拓端tecdat|Python中用Prophet模型对天气时间序列进行预测与异常检测
  4. 安装opcenccv-python以后仍然No module named ‘cv2‘
  5. mysql修改max_binlog_cache_size
  6. vs2019添加opencv目录和dlib目录
  7. 大数据基础(一)——关系+文章
  8. vs error:无法打开源文件“stdafx.h
  9. java+编辑距离自动机_编辑距离,重叠,组装算法和python程序.pptx
  10. php$.ajax(),使用PHP的jQuery $.ajax()