广告
返回顶部
首页 > 资讯 > 精选 >SpringBoot2.0如何实现多图片上传加回显
  • 186
分享到

SpringBoot2.0如何实现多图片上传加回显

2023-06-20 17:06:55 186人浏览 泡泡鱼
摘要

这篇文章主要为大家展示了“SpringBoot2.0如何实现多图片上传加回显”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“springBoot2.0如何实现多图片上传加回显”这篇文章吧。上传Co

这篇文章主要为大家展示了“SpringBoot2.0如何实现多图片上传加回显”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“springBoot2.0如何实现多图片上传加回显”这篇文章吧。

上传

Controller的代码非常简单,由于用了springMVC框架,所以直接用MultipartFile来接即可。由于是多图片上传所以用数组来接。此处应该注意参数名应该和<input>中的name值相对应

@RequestMapping("/pic")@ResponseBodypublic ResponseEntity<String> pic(MultipartFile [] pictures) throws Exception {    ResponseEntity<String> responseEntity = new ResponseEntity<>();    long count = Arrays.asList(pictures).stream().            map(MultipartFile::getOriginalFilename).            filter(String::isEmpty).count();    if (count == pictures.length){        responseEntity.setCode(ResponseEntity.ERROR);        throw new NullOrEmptyException("图片不能同时为空");    }    responseEntity.setCode(ResponseEntity.OK);    responseEntity.setMessage("上传成功");    return responseEntity;}

前端页面的代码,此处的name值和Controller的参数名称是对应的

<div class="container">    <div class="avatar-upload">        <div class="avatar-edit">            <input type='file' name="pictures" id="imageOne" accept=".png, .jpg, .jpeg"/>            <label for="imageOne"></label>        </div>        <div class="avatar-preview">            <div id="imageOnePreview"                 >            </div>        </div>    </div></div>

js代码回显

function readURLOne(input) {    if (input.files && input.files[0]) {        var reader = new FileReader();        reader.onload = function(e) {            $('#imageOnePreview').CSS('background-image', 'url('+e.target.result +')');            $('#imageOnePreview').hide();            $('#imageOnePreview').fadeIn(650);        }        reader.readAsDataURL(input.files[0]);    }}$("#imageOne").change(function() {    readURLOne(this);});

js代码上传

function getUpload(){    //获取fORM表单中所有属性  key为name值    var formData = new FormData($("#picForm")[0]);    $.ajax({        url: '/pic',        type: 'POST',        dataType:"JSON",        data: formData,        processData: false,        contentType: false,        success:(function(data) {            window.confirm(data.message);            window.location.reload();        }),        error:(function(res) {            alert("失败");        })    });}

效果展示

初始页面如下

SpringBoot2.0如何实现多图片上传加回显

上传完图片以后回显为

SpringBoot2.0如何实现多图片上传加回显

点击提交以后可将图片上传至后台

配置上传图片的属性

默认情况下只允许上传1MB以下的图片,如果要设置上传图片大小。那么需要在配置文件中如下配置

spring:  servlet:    multipart:      enabled: true      max-file-size: 20MB      max-request-size: 20MB

关于文件的配置有下面几个

spring.servlet.multipart.enabled=true # 是否支持多文件上传spring.servlet.multipart.file-size-threshold=0B # 文件写入磁盘的阈值spring.servlet.multipart.location= # 上传文件的保存地址spring.servlet.multipart.max-file-size=1MB # 上传文件的最大值spring.servlet.multipart.max-request-size=10MB # 请求的最大值spring.servlet.multipart.resolve-lazily=false # 是否在文件或参数访问时延迟解析多部分请求

异常处理

异常处理用了Springboot提供的全局异常处理机制。只需要在类上加入@ControllerAdvice注解即可。在方法上加入@ExceptionHandler(想要拦截的异常类)就能拦截所有Controller的异常了。如果想要拦截指定为特定的Controller只需要在@ControllerAdvice(basePackageClasses=想要拦截的Controller)

@ControllerAdvice@Slf4jpublic class CommonExceptionHandler extends ResponseEntityExceptionHandler {    @ExceptionHandler(NullOrEmptyException.class)    @ResponseBody    public ResponseEntity<String> nullOrEmptyExceptionHandler(httpservletRequest request, NullOrEmptyException exception){        log.info("nullOrEmptyExceptionHandler");        return handleErrorInfo(request, exception.getMessage());    }    @ExceptionHandler(value = Exception.class)    @ResponseBody    public ResponseEntity<String> defaultErrorHandler(HttpServletRequest request, Exception exception){        log.info("defaultErrorHandler");        return handleErrorInfo(request, exception.getMessage());    }    private ResponseEntity<String> handleErrorInfo(HttpServletRequest request, String message) {        ResponseEntity<String> responseEntity = new ResponseEntity<>();        responseEntity.setMessage(message);        responseEntity.setCode(ResponseEntity.ERROR);        responseEntity.setData(message);        responseEntity.setUrl(request.getRequestURL().toString());        return responseEntity;    }}

遇到的坑

  • 如果返回值是模板文件的文件名,那么无论是类上还是方法上都不能加@ResponseBody注解,因为如果加了的话会被解析成Json串返回。

  • 注意前端所传参数名和后端接收参数名一一对应。不然会报405错误

  • 使用idea开发如果使用了lombok那么需要在Annotation Processors中将Enable annotation processing打对勾

以上是“SpringBoot2.0如何实现多图片上传加回显”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: SpringBoot2.0如何实现多图片上传加回显

本文链接: https://www.lsjlt.com/news/298918.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringBoot2.0实现多图片上传加回显
    目录上传效果展示配置上传图片的属性异常处理遇到的坑完整代码地址 这两天公司有需求让做一个商户注册的后台功能,其中需要商户上传多张图片并回显。由于之前没做过这方面的东西,此篇文章用以记...
    99+
    2022-11-12
  • SpringBoot2.0如何实现多图片上传加回显
    这篇文章主要为大家展示了“SpringBoot2.0如何实现多图片上传加回显”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“SpringBoot2.0如何实现多图片上传加回显”这篇文章吧。上传Co...
    99+
    2023-06-20
  • 基于SpringBoot实现图片上传及图片回显
    目录数据库脚本框架搭建pom.xml 依赖配置文件实体类DAOService文件上传添加页面控制器列表页面运行测试问题全局异常处理1. @ControllerAdvice + @Ex...
    99+
    2022-11-13
  • Spring Boot 实现图片上传并回显功能
    一、常规形式 1 项目结构 2 配置文件及环境设置 (1)配置文件 # 应用服务 WEB 访问端口 server.port=8080 # spring 静态资源扫描路径 spr...
    99+
    2022-11-12
  • H5如何实现多图片上传
    这篇文章将为大家详细讲解有关H5如何实现多图片上传,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 这篇文章主要介绍了基于HTML5实现多张图...
    99+
    2022-10-19
  • 如何利用node+koa+axios实现图片上传和回显功能
    今天小编给大家分享一下如何利用node+koa+axios实现图片上传和回显功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧...
    99+
    2023-06-30
  • element-ui如何实现上传图片后清空图片显示
    这篇文章主要为大家展示了“element-ui如何实现上传图片后清空图片显示”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“element-ui如何实现上传图片后...
    99+
    2022-10-19
  • 利用node+koa+axios实现图片上传和回显功能
    目录前言开发前需要掌握的一些库代码结构实现代码前言 代码地址 开发前需要掌握的一些库 koa:用来起一个web服务器 koa2-cors: 解决跨域问题 @koa/router: k...
    99+
    2022-11-13
  • Vue中实现图片上传,上传后的图片回显,存储图片到服务器 【使用对象存储OSS】
    文章目录 1 前提知识1.1 服务端签名后直传1.1.1 流程和源码解析1.1.2 实现步骤 1.2 Aliyun Spring Boot OSS 示例(接入微服务)1.2.1 简略说明1.2.2步骤 2、项目中实际...
    99+
    2023-08-24
    vue.js 服务器 javascript
  • SpringMVC如何实现多个文件上传及上传后立即显示图片功能
    这篇文章主要为大家展示了“SpringMVC如何实现多个文件上传及上传后立即显示图片功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“SpringMVC如何实现多个文件上传及上传后立即显示图片功...
    99+
    2023-05-31
    springmvc
  • node.js实现多图片上传实例
    先上效果图: 这是我当时做多图片的代码,拿出来给大家借鉴一下(有些地方需要亲们自己改一下,大方向是对的) 总共涉及到三处文件(常规来说) 1.路由入口文件(我这里是/routes.js,很多时候会在/ap...
    99+
    2022-06-04
    多图 实例 上传
  • Node.js如何实现图片上传和显示方法
    小编给大家分享一下Node.js如何实现图片上传和显示方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体如下:index.j...
    99+
    2022-10-19
  • java怎么实现图片上传并显示
    在Java中实现图片上传并显示的一种常见的方法是使用Servlet和JSP。下面是一个简单的示例代码: 创建一个Servlet类来...
    99+
    2023-10-24
    java
  • PHP如何实现多张图片上传功能
    这篇文章主要介绍“PHP如何实现多张图片上传功能”,在日常操作中,相信很多人在PHP如何实现多张图片上传功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP如何实现多张图片上传功能”的疑惑有所帮助!接下来...
    99+
    2023-07-02
  • vue实现上传图片添加水印
    本文实例为大家分享了vue上传图片添加水印的具体实现代码,供大家参考,具体内容如下 1、封装添加水印方法 export async function addWaterMarke...
    99+
    2022-11-12
  • layui如何上传图片并返回图片地址
    这篇文章给大家分享的是有关layui如何上传图片并返回图片地址的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。默认是file参数名返回一个Map前端接收即可。感谢各位的阅读!关于“...
    99+
    2022-10-19
  • Ajax如何实现上传图片
    这篇文章主要为大家展示了“Ajax如何实现上传图片”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Ajax如何实现上传图片”这篇文章吧。1.图片上传到服务器。2....
    99+
    2022-10-19
  • node如何实现图片上传
    这篇文章主要介绍node如何实现图片上传,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在web开发中,文件上传是一个很重要的问题,尤其是图片上传,以及由此延伸的“进度条”、“文件大小”、以及著名的“跨域”等问题。本d...
    99+
    2023-06-06
  • django实现图片上传数据库并显示
    Django文件上传,供大家参考,具体内容如下 需求 1、完成学生信息注册操作 2、将学生信息入库 3、将上传文件存放至项目下media文件夹下 4、显示所有学生信息 创建模型类 ...
    99+
    2022-11-12
  • jquery如何实现多次上传同一张图片
    这篇文章将为大家详细讲解有关jquery如何实现多次上传同一张图片,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。代码如下$('input[type=file]&#...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作