资讯专栏INFORMATION COLUMN

spring-boot上传

fnngj / 2825人阅读

摘要:的文档上说解决了对文件上传的支持问题之前需要借助完成的事现在不需要依赖它了也就是说在中不能用实现接口了下面这样定义是错误的我们所要做的就是什么也不做默认就不用了下面说说具体实现文件多带带上传这个只需要用就可以了文件上传表单上传上传

spring-boot的文档上说

Spring Boot embraces the Servlet 3 javax.servlet.http.Part API to support uploading files

Servlet 3解决了HttpServletRequest 对文件上传的支持问题.之前需要借助commons-upload完成的事,现在不需要依赖它了.
也就是说,在spring-boot中不能用commons-upload实现MultipartResolver接口了,下面这样定义是错误的

我们所要做的就是什么也不做,spring-boot默认就不用commons-upload了.下面说说具体实现

文件多带带上传

这个只需要用@RequestParam就可以了

upload(@RequestParam MultipartFile file)

文件上传+表单上传

upload(@ModelAttribute Person person,@RequestParam MultipartFile file)

上传json(解析)

upload(@RequestBody Person person)
var xhr=new XMLHttpRequest();
xhr.send(JSON.stringify(data));

前端需要设置Content-type:application/json

文件上传+json(不解析)
这个也很简单

upload(@RequestParam String person,@RequestParam MultipartFile file)

文件上传+json(解析)

还想偷下懒,把json里的属性塞到Person里
刚开始想到的是

upload(@RequestBody Person person,@RequestParam MultipartFile file)

但是报415 Unsupported Media Type,看文档
上面说的用@RequestPart,然后json数据可以通过设置Content-type:application/json,让MappingJackson2HttpMessageConverter识别,把json属性塞进实体类

问题来了,怎样才能在multipart/form-data的分段里设置Content-type呢?

var form=new FormData();
var file=document.getElementById("file").files[0];
form.append("file",file );
var data={name:"TheViper",age:11};
form.append("person",new Blob([JSON.stringify(data)],{type: "application/json"}));

下载

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/66987.html

相关文章

  • Maven详细教程

    摘要:清理上一次执行创建的文件处理资源文件编译代码执行单元测试文件创建拷贝到本地的仓库下面发布生成文档将工程所有文档生成网站,生成的网站界面默认和的项目站点类似,但是其文档用格式写的,目前不支持,需要用其他插件配合才能支持。 前言 本文可以帮助你加深对Maven的整体认识,不是一篇基础文章。如果你现在还没有用 Maven 跑过 HelloWorld,那么本文可能不适合你。 一、Maven简介...

    Keagan 评论0 收藏0
  • Spring Boot (一)helloworld

    摘要:第二个类级别注解是。将引导应用程序,启动,从而启动自动配置服务器。比如想使用不同版本的,具体如下在标签中还可以指定编译的版本和项目的编码格式指定项目编码为使用插件可以为项目提供的操作方式,的个,默认。 引言 Spring 框架对于很多 Java 开发人员来说都不陌生。Spring 框架包含几十个不同的子项目,涵盖应用开发的不同方面。如此多的子项目和组件,一方面方便了开发人员的使用,另外...

    go4it 评论0 收藏0
  • SpringBoot 入门简介

    摘要:这里使用的是数据库启动类上加上注解在启动类中添加对包扫描扫描多个包下的可以有以下几种方法扫描会自动加载相关配置,数据源就会自动注入到中,会自动注入到中,可以直接使用。有配置文件下的使用扫描多个包下的可以有以下几种方法扫描 Spring-Boot 学习笔记 1 Spring-Boot 介绍 1.1 什么是Spring-Boot Spring-Boot是由Pivotal团队提供的全新框架...

    chuyao 评论0 收藏0
  • spring cloud feign实现远程调用服务传输文件

    摘要:实践案例包括两个项目,服务提供者项目名,调用服务项目名,主要给出两个服务之间的调用过程,文件上传功能不提供项目框架依赖一文件上传服务控制层文件上传控制文件上传文件上传开始文件上传结束,耗时文件上传失败业务层上传文件判 实践案例包括两个项目,服务提供者项目名:upload-service,调用服务项目名:upload-client,主要给出两个服务之间的调用过程,文件上传功能不提供 项目...

    lmxdawn 评论0 收藏0
  • spring-boot整合spring-security和thymeleaf

    摘要:给出了详细的教程,但是都是基于的,在和整合的时候还有一些问题。默认加载的版本是。如果使用的话,参考官网文档可以在中添加支持,以实现自动补全。 在controler中获取用户名信息 Spring会自动注入Principal,通过principal可以可以获取到登录用户的用户名: @Controller public class MockController { @GetMapping...

    desdik 评论0 收藏0

发表评论

0条评论

fnngj

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<