JeecgBoot文件上传实现方式

 更新时间:2026年01月20日 11:05:05   作者:bug0到1  
JeecgBoot提供本地和阿里云两种文件上传方式,本地上传需要修改配置文件,设置上传目录,并在前端页面展示图片时进行相应的配置,阿里云上传则需要注册阿里云账号,开通OSS服务,并在配置文件中进行相应的设置,上传到阿里云OSS的文件会直接存储完整链接,后台不需要拼接

一、JeecgBoot自带两种文件上传方式

1、本地 

2、阿里云 

3、配置文件如图所示

二、本地上传方式

1、更改配置文件中uploadType方式

uploadType: local

2、文件上传根目录可随意设置

path :
    #文件上传根目录 设置
    upload: /fiel1/file2

3、如果其他不更改的话,数据库默认存的是temp/文件名,后台前端页面展示图片时,需配置

(1)、列表对应字段加入插槽

{
   title:'图片',
   align:"center",
   dataIndex: 'image',
   scopedSlots:{customRender:"image"}
},

(2)、a-table标签加入, scopedSlots:{customRender:“image”} 需和slot=“image” 对应

<!--返回图片-->
  <template slot="image" slot-scope="text,record,index">
     <div class="anty-img-wrap">
     <a-avatar shape="square" :src="getAvatarViewPro(record.image)" icon="user"/>
  </div>
</template>

(3)、script中引入

import {getFileAccessHttpUrl} from '@/api/manage';

(4)、methods方法

	  //显示图片
      getAvatarViewPro:function(image) {
        if(image.indexOf(",") != -1){
          var str1 = image.substring(0,image.indexOf(","));
          return getFileAccessHttpUrl(str1);
        }else{
          return getFileAccessHttpUrl(image);
        }
      },

4、如果小程序端页面展示图片,有两种方法

(1)、小程序端/H5/app,自己将服务器地址和后台返回的图片地址拼接(可用,不提倡)

(2)、后台拼接返回完整的地址,小程序端/H5/app直接展示

  • 配置文件path中加入url配置
path :
    url: 服务器地址:端口号/项目名/sys/common/static/
  • 后台对应类中引入如下,方法中进行拼接返回
@Value("${jeecg.path.url}")
private String upLoadUrl;

三、阿里云上传方式

1、更改配置文件中uploadType方式

uploadType: alioss

2、注册登录阿里云账号,开通oss服务,创建相关秘钥和bucket

下一篇专门写怎么开通阿里云oss服务

3、至此阿里云上传方式完毕,数据库直接存储的是完整的可访问链接,后台不需要自己拼接

4、此时阿里云oss中,上传的所有文件都在一起,没有根据日期创建文件夹区分

  • 在jeecg-boot-base\jeecg-boot-base-core\src\main\java\org\jeecg\common\util\oss\文件夹在找到OssBootUtil类,修改upload方法如下:
//按时间分文件夹
String datePath = new DateTime().toString("yyyy/MM/dd/HH");
String fileName = datePath + "_" + (orgName.indexOf(".")==-1
                              ?orgName + "_" + System.currentTimeMillis()
                              :orgName.substring(0, orgName.lastIndexOf("."))
                              + "_" + System.currentTimeMillis() + orgName.substring(orgName.lastIndexOf(".")));

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 深入学习SpringCloud之SpringCloud简介

    深入学习SpringCloud之SpringCloud简介

    Spring Cloud是一个一站式的开发分布式系统的框架,为开发者提供了一系列的构建分布式系统的工具集,本文给大家介绍springcloud的相关知识,感兴趣的朋友跟随一起看看吧
    2021-04-04
  • Java ThreadLocal类使用详解

    Java ThreadLocal类使用详解

    这篇文章主要介绍了Java ThreadLocal类详解,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • Java实现创建运行时类的对象操作示例

    Java实现创建运行时类的对象操作示例

    这篇文章主要介绍了Java实现创建运行时类的对象操作,结合实例形式分析了Java动态创建对象的原理与相关实现技巧,需要的朋友可以参考下
    2018-08-08
  • Spring Boot中处理Servlet路径映射问题解决

    Spring Boot中处理Servlet路径映射问题解决

    本文探讨了将传统Servlet框架集成到Spring Boot应用时出现的路径映射问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-08-08
  • Java中的异步回调问题

    Java中的异步回调问题

    这篇文章主要介绍了Java中的异步回调问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Spring中IOC和AOP的核心组成架构详解

    Spring中IOC和AOP的核心组成架构详解

    这篇文章主要介绍了Spring中IOC和AOP的核心组成架构详解,本文是对Spring的2大核心功能——IoC和AOP 的总结提炼,并增加了环境profile和条件化bean的内容,篇幅较短,更像是一个大纲,或者思维导图,需要的朋友可以参考下
    2023-08-08
  • 一文带你学会Spring JDBC的使用

    一文带你学会Spring JDBC的使用

    JDBC 就是 数据库开发 操作的 代名词,因为只要是现代商业项目的开发那么一定是离不开 数据库 的,不管你搞的是什么,只要是想使用动态的开发结构,那么一定就是 JDBC ,那么下面来教教大家传统JDBC的使用
    2022-09-09
  • 2019年最新Java学习路线图

    2019年最新Java学习路线图

    不管你是不懂电脑的小白,还是已经步入开发的大牛,这套路线路绝对不容错过,路线图的宗旨就是分享,专业,便利,让喜爱Java的人,都能平等的学习,感兴趣的同学可以了解一下
    2019-03-03
  • ElasticSearch的安装与基本概念

    ElasticSearch的安装与基本概念

    这篇文章主要介绍了ElasticSearch的安装与基本概念,提供了一个分布式多用户能力的全文搜索引擎,Elasticsearch是用Java开发的,需要的朋友可以参考下
    2023-04-04
  • java实现单机版五子棋小游戏

    java实现单机版五子棋小游戏

    这篇文章主要为大家详细介绍了java实现单机版五子棋小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12

最新评论