SpringBoot 结合layUI实现文件上传

springboot+layui文件上传组件实现文件上传和删除 前端代码: 后端代码: 源码地址:链接:https://pan.baidu.com/s/1FhUG2wAd6-Kpkt-EDHjtBw 提取码:hlmp 注:此源码还整合了layui的后台管理系统模板和freemark模板引擎。 阅读详情

首先是网站的配置:先是pom文件的引入,在此把整个文件全拷贝了:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.1.3.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.platform</groupId>
	<artifactId>platform</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>platform</name>
	<description>Demo project for Spring Boot</description>
	
	<properties>
		<java.version>1.8</java.version>
	    <thymeleaf.version>3.0.11.RELEASE</thymeleaf.version>
		<thymeleaf-layout-dialect.version>2.4.1</thymeleaf-layout-dialect.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
		    <groupId>mysql</groupId>
		    <artifactId>mysql-connector-java</artifactId>
		    <version>6.0.6</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-mapper-asl -->
		<dependency>
		    <groupId>org.codehaus.jackson</groupId>
		    <artifactId>jackson-mapper-asl</artifactId>
		    <version>1.9.13</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-core-asl -->
		<dependency>
		    <groupId>org.codehaus.jackson</groupId>
		    <artifactId>jackson-core-asl</artifactId>
		    <version>1.9.13</version>
		</dependency>
		
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>1.1.1</version>
		</dependency>
		
		<!-- 数据库连接池 -->
		 <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
		<dependency>
		    <groupId>com.alibaba</groupId>
		    <artifactId>druid</artifactId>
		    <version>1.1.6</version>
		</dependency>
		
		<!-- kaptcha验证码 -->
		
   		<dependency>
            <groupId>com.github.penggle</groupId>
            <artifactId>kaptcha</artifactId>
            <version>2.3.2</version>
        </dependency>
 
		<dependency>
		    <groupId>org.springframework.boot</groupId>
		    <artifactId>spring-boot-starter-thymeleaf</artifactId>
	    </dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
		</dependency>
		<!-- MyBatis分页 -->
		<!-- 分页插件 -->
		<dependency>
		    <groupId>com.github.pagehelper</groupId>
		    <artifactId>pagehelper-spring-boot-starter</artifactId>
		    <version>1.2.5</version>
		</dependency>
		
		    <!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
		<dependency>
		    <groupId>commons-fileupload</groupId>
		    <artifactId>commons-fileupload</artifactId>
		    <version>1.2.2</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
		<dependency>
		    <groupId>commons-io</groupId>
		    <artifactId>commons-io</artifactId>
		    <version>2.6</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/commons-codec/commons-codec -->
		<dependency>
		    <groupId>commons-codec</groupId>
		    <artifactId>commons-codec</artifactId>
		    <version>1.9</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/org.json/json -->
		<dependency>
		    <groupId>org.json</groupId>
		    <artifactId>json</artifactId>
		    <version>20160810</version>
		</dependency>
		
		<!-- https://mvnrepository.com/artifact/cn.songxinqiang/com.baidu.ueditor -->
		<dependency>
		    <groupId>cn.songxinqiang</groupId>
		    <artifactId>com.baidu.ueditor</artifactId>
		    <version>1.1.2-offical</version>
		</dependency>
		
		<!-- jstl -->
		<dependency>
		<groupId>javax.servlet</groupId>
		<artifactId>jstl</artifactId>
		</dependency>
		<!-- jasper -->
		<dependency>
		<groupId>org.apache.tomcat.embed</groupId>
		<artifactId>tomcat-embed-jasper</artifactId>
		<scope>provided</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>

全局配置文件application.properties的配置:

spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/platform?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
mybatis.type-aliases-package=com.platform.pojo
spring.resources.chain.cache=false
#分页插件
pagehelper.helper-dialect=mysql
pagehelper.params=count=countSql
pagehelper.reasonable=true
pagehelper.support-methods-arguments=true
spring.thymeleaf.cache=false

 

前端界面,直接在layUI官网的文档上复制过来就行。

         <form method="post" id="sourceupload">
			<div style="padding-left: 50px;margin-bottom: 25px;">
			    <button type="button" class="layui-btn layui-btn-primary" id="test4"><i class="layui-icon"></i>资源上传</button>
				<input type="text" name="sourcename" required lay-verify="required" placeholder="请输入资源名称"class="layui-input" style="width: 420px;display: inline; margin-left: 25px;">
				<input type="text" name="sourcepath" id="sourcepath" style="width: 420px;display: none; margin-left: 25px;">
			</div>
			<textarea name="description" placeholder="请输入资源介绍" required lay-verify="required" class="layui-textarea" style="font-size: 15px;margin-bottom: 20ox;width: 800px;"></textarea>
			<button class="layui-btn" lay-submit lay-filter="uploadbtn" style="margin-left: 660px ;margin-top:25px;width: 120px;">立即提交</button>
        </form>

同时,layUI的js代码也是复制官网的文档的,再进行适当的修改一下,把上传成功的资源路径返回并赋值给一个隐藏的input,这样就可以使用表单实现把文件的路径、资源名字、还有简介保存于数据库:


	layui.use('upload', function(){
	  var upload = layui.upload;

  //执行实例
  var uploadInst = upload.render({
    elem: '#test4', //绑定元素
    accept: 'file',
    size: 307200,
    url: '/source/uploadSource', //上传接口  
    method: 'POST',
    done: function(res){
      //上传完毕回调
    	 layer.alert("上传成功!"+res.msg, {
				icon: 5,
				title: "提示"
				});
    	  $("#sourcepath").val(res.msg);
     
    }
    ,error: function(res){
      //请求异常回调
    	layer.alert("后台出错", {
			icon: 5,
			title: "提示"
			}); 
    }
  });
});

后台处理:在controller包中创建一个controller处理文件上传。方法如下:

/** 
	* @Title: uploadSource 
	* @Description: 文件上传,返回文件的存储路径 
	* @param file
	* @return Object
	* @author hzp
	* @date 2019年5月6日下午9:51:16
	*/ 
	@RequestMapping(value="/uploadSource" , method = RequestMethod.POST)
	@ResponseBody
	public String uploadSource(@RequestParam("file") MultipartFile file , HttpServletRequest request) {
		System.out.println(file);
		String pathString = null;
		if(file!=null) {
		pathString = "D:/upload/" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + "_" +file.getOriginalFilename();
		}
		
		try {
			File files=new File(pathString);
            //打印查看上传路径
            System.out.println(pathString);
            if(!files.getParentFile().exists()){
                files.getParentFile().mkdirs();
            }
			file.transferTo(files);
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 
 
		return "{\"code\":0,\"msg\":\""+pathString+"\"}";
	}

这里需要注意的是,layUI文档规定了,返回值必须是json数据,并且有格式要求,具体格式如下:

{
  "code": 0
  ,"msg": ""
  ,"data": {
    "src": "http://cdn.layui.com/123.jpg"
  }
}  

最后测试一下便可以实现了。

Springboot中layui.upload上传文件后页面前端立即刷新显示 html中代码: <div class="col-md-6 column"> <div class="form-group"> <label for="bt-financeIdentityCardBack">身份证反面:</label> <br> <button type="button" class="layui-btn " id="bt-finance 阅读详情

相关推荐

SpringBoot+thymeleaf+UEditor+不修改上传路径.zip

SpringBoot+Thymeleaf下整合UEditor,这里没有修改图片上传文件,只用默认的图片上传路径。资源有UEditor.1.4.3.3以及自定义Controller。

项目实战-SpringBoot+MyBatis+LayUI+Thymeleaf 权限系统

  该项目是一套基于springboot、mybatis、thymeleaf及layui的轻量级快速开发框架、脚手架、后台管理系统、权限系统,上手简单,拿来即用,通用的项目结构为广大开发者去除了大部分的复杂繁琐的代码工作。同时对学习springboot但无实战经验的学员可以快速上手。达到学以致用的效果(只有视频,项目源码,不包含其他)。    该项目零基础不建议报名,layui参考官方文档即可。部分页面效果:   

SpringBoot+layui实现文件上传功能

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。这篇文章主要介绍了SpringBoot+layui实现文件上传,需要的朋友可以参考下

【小小Demo】SpringBoot+Layui文件上传与下载

文件上传、下载、预览

Java_Wxlin的博客 1532

知识图谱初步学习(一)——本体+Protege新手学习

文章目录前言(本体详解)1.本体概念2.本体分类3.本体组成4.本体构建方法一、protege简介二、软件使用步骤1.安装2.使用三、问题解决方案汇总 前言(本体详解) 在开始学习知识图谱的过程中,首先就是要了解什么是本体(ontology)。 1.本体概念 本体的概念最初源自于哲学领域,在哲学中的定义为“对世界上客观事物的系统描述,即存在论”。哲学中的本体关心的是客观现实的抽象本质。而在计算机领域,本体是可以在语义的层次上来对知识进行描述,可以看做是某一个领域知识的通用模型。 本体是从客观世界中抽象出来

qq_43654669的博客 3万+

Python小白也能玩转迅投QMT量化交易?手把手教你从安装到第一个策略

本文为零基础Python用户提供了上手迅投QMT量化交易平台的完整指南。从Python 3.6环境配置、QMT客户端获取安装,到核心概念讲解,并手把手教你编写并回测一个经典的双均线交易策略,帮助初学者快速迈出量化交易的第一步。

weixin_29103191的博客 763

layui上传word文档流程步骤

使用layui上传docx文件的方法流程

qq_39951524的博客 667

S32K3双核实战:手把手教你用EB配置CAN与CANFD(附中断/轮询代码对比)

本文详细解析了NXP S32K3双核处理器在CAN/CANFD通信开发中的实战应用。通过Elektrobit配置工具链,从双核通信架构设计到EB tresos Studio配置全流程,再到中断与轮询模式的代码实现对比,全面指导开发者优化S32K3 FlexCAN模块性能,提升汽车电子系统的通信效率与可靠性。

weixin_30955617的博客 440

spring boot+layui实现文件上传到服务器

spring boot+layui实现文件上传到服务器

青莳的博客 1333

cesium 淹没分析

cesium淹没分析

God's asylum的博客 480

ABAP SQL Hierarchy 全景参考,组织树、分类树与递归查询在数据库层的优雅落地

ABAP SQL中的hierarchy语法为树形数据结构处理提供了高效方案。S/4HANA系统中常见的成本中心、利润中心、物料分类等树形结构,传统开发需通过递归和嵌套循环处理,而ABAP SQL hierarchies通过将层级遍历能力下沉到SQL层,借助SAP HANA的层级函数支持,实现了更高效的查询。 该功能要求ABAP 7.51+版本,支持两种实现方式:CDS hierarchy用于创建可复用的稳定层级模型,适合业务核心数据;ABAP SQL HIERARCHY generator则适用于临时性层级

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 313

springboot基于layui的图片上传,下载和删除

图片的上传,下载和回显: 基于springboot和mybatis plus和layui的图片的上传,下载和删除 - Gitee.com。首先在启动项目之前,在tomcat的bin文件中启动tomcat服务器(点击startup.bat),作为图片上传的服务器。这样idea里面的tomcat就配置完成了,在启动项目之前一定要先启动tomcat。然后再deployment里面选择图片上传的文件夹,点击ok,最后apply。文件的上传和添加到数据库成功实现。文件上传,添加和删除的控制层。layui的html。

m0_48701672的博客 1260

AD22等长布线规则

本文介绍了PCB布线中实现信号线等长的详细操作步骤:1.创建网络类(NetClass),将需要等长的信号线归入同一组;2.设置高速布线规则(High-SpeedRule),定义等长容差等参数;3.进行交互式等长布线(InteractiveLengthTuning),使用蛇形线调整线长;4.实时调整与最终检查,确保所有网络满足等长要求。文中还提供了实用技巧,如使用快捷键调整蛇形线参数、为关键信号设置更严格规则等。操作需在PCB设计软件中完成,通过统一管理、规则设置和精确调整来实现信号同步传输。

whm128的博客 1556

SpringBoot +Layui 的文件上传

SpringBoot+Layui的文件上传 在做新项目的时候,因为这次的项目前台用的是LayUi框架,所以这次写一个用layUi做的文件上传。 1.先看layUi官网 https://www.layui.com/ 其实这个官网前台的已经写的很完整了,点击示例这里的文件上传 然后查看代码 这里我用了这里的其中的一个方法,结果为如图所示 前台代码如下 <%@ page language="java" import="java.util.*" pageEncoding="u

SSbandianH的博客 851

【CASS精品教程】006:CASS7.1 道路设计参数文件打开无响应,提示roadpara解决办法,权威解决办法汇总

在用CASS7.1 软件进行断面法土方量计算,在生成断面图后,需要进行道路设计参数文件的设计,打开断面设计参数文件的时候,无响应,提示roadpara,如下所示: 道路设计参数文件 解决办法有三种 第一种方法:Win+R (1)64位系统:输入regsvr32 C:\Windows\SysWOW64\CellCtrl5.ocx,回车 (2)32位系统输入regsvr32 C:...

智慧空间实验室 1万+

YOLOv12中的A2C2f模块详解,涉及区域注意力模块(A2)和 R-ELAN 结构详解

区域注意力模块(Area Attention, A2)的设计出发点是为了解决传统注意力机制在计算复杂度和内存访问效率上的问题。传统的自注意力机制(Self-Attention)具有二次方的计算复杂度(O(n²)),尤其是在处理高分辨率图像时,计算成本非常高。此外,注意力机制的内存访问模式不如卷积神经网络高效,导致在实际应用中难以满足实时性要求。区域注意力模块通过将特征图划分为多个区域,并在每个区域内进行注意力计算,从而显著降低了计算复杂度。

Limiiiing的博客 5513

基于springboot2.0跟layui构建的前后端分离后台管理系统

Active4j-boot是基于SpingBoot2.0轻量级的java快速开发框架。以Spring Framework为核心容器,Spring MVC为模型视图控制器,Mybatis Plus为数据访问层, Apache Shiro为权限授权层, Redis为分布式缓存,Quartz为分布式集群调度,layui作为前端框架并进行前后端分离的开源框架。 项目介绍 Active4j是基于SpingBoot2.0轻量级的java快速开发框架。以Spring Framework为核心容器,Spring M..

active4j的专栏 8749

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

java spring框架文件上传_SpringBoot+layui实现文件上传功能

什么是spring bootspring boot是由pivotal团队提供的全新框架,其设计目的是用来简化新spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知...

weixin_35253106的博客 400

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

springboot+layui文件上传

springboot+layui实现文件上传 源码:https://pan.baidu.com/s/1aUG7c5HFkWbelbIF08PZxA,密码:ek7d

Sun_Loading的博客 1477

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Springboot+layui+thymeleaf实现头像上传功能

找了许多关于Springboot+layui文件上传的例子都不是那么令人满意,于是自己就研究了半天码出令自己比较满意的文件上传功能,个人心得如下: 1.在application.properties中添加如下配置 file.upload.path=C://Users/Administrator/Desktop/2019-12-10/JDHD3.0/src/main/resources/static...

DearQ的博客 1290

java 文件上传 配置_JAVA从入门到精通之使用java的MultipartFile实现layui官网文件上传实现全部示例,java文件上传...

本篇文章探讨了JAVA从入门到精通之使用java的MultipartFile实现layui官网文件上传实现全部示例,java文件上传,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入。"layui(谐音:类UI) 是一款采用自身模块规范编写的前端 UI 框架,遵循原生 HTML/CSS/JS 的书写与组织形式,门槛极低,拿来即用。本次教程是基于springboot2.0的。废话少...

weixin_33460449的博客 355

layui表单加文件 php_SpringBoot:layui表单文件上传

layui+springboot使用FormData文件上传HTML代码:图片名称系列第一系列第二系列第三系列类别类别1金馆长张学友图片上传立即提交重置一定要注意enctype="multipart/form-data"声明,这里没有使用到layui中的文件上传,因为这里涉及到其他表单字段,用layui模块不是很方便。表单提交代码:form.on('submit(photoSave)', func...

weixin_42181686的博客 316

form触发2次 layui_Springboot+layui上传文件携带参数前后台代码

原文地址:Springboot+layui上传文件携带参数前后台代码 | 理木客​www.limuke.top1、首先官网:图片/文件上传 可以参考官网的例子。 注意:请求上传接口的额外参数。如:data: {id: 'xxx'} 从 layui 2.2.6 开始,支持动态值2、前台代码html<form class="layui-form"> <div class="l...

weixin_42525289的博客 204

springboot图片上传(搬过去就能用)

springboot、layui实现图片上传,回传图片路径给前端,最后存到数据库。

m0_58560859的博客 741

SpringBoot+layui文件 上传,预览

SpringBoot+layui文件 上传,预览上传下载预览 JavaWeb+layui 实现 上传 上传使用layui组件 /** * 文件上传路径映射类 * @author guoanhao * @since 2021-03-22 19:15:09 * @ConfigurationProperties:前缀 */ @Component @ConfigurationProperties(prefix = "file") @Data public class FileUpload { /

weixin_42874602的博客 943

Spring Boot+Layui 导入Excel文件

1、首先是pom.xml,添加依赖。 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency> 2、Con...

bigsimpleton的博客 1922
上一篇: 关于Mybatis逆向工程的使用
下一篇: SpringBoot 实现文件下载
silentkunden
博客等级 码龄9年 28粉丝 51原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值