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(".")));

总结

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

相关文章

  • Java微信支付-微信红包

    Java微信支付-微信红包

    本篇文章介绍了Java微信支付-微信红包,可以实现微信公众号发红包功能,具有一定的参考价值,有需要的可以了解一下。
    2016-10-10
  • Spring-webflux访问关系型数据库实战

    Spring-webflux访问关系型数据库实战

    这篇文章主要为大家介绍了Spring-webflux访问关系型数据库实战详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • Java编程 多态

    Java编程 多态

    这篇文章主要介绍了关于Java编程的多态,多态通过分离做什么和怎么做,从另一个角度将接口和实现分离开来。构建可扩展的程序,需要的朋友可以参考下
    2021-10-10
  • Java经典设计模式之装饰器模式解析

    Java经典设计模式之装饰器模式解析

    这篇文章主要介绍了Java经典设计模式之装饰器模式解析,装饰器模式主要解决继承关系过于复杂的问题,通过组合来替代继承,指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,需要的朋友可以参考下
    2023-08-08
  • Java两大工具库Commons和Guava使用示例详解

    Java两大工具库Commons和Guava使用示例详解

    这篇文章主要为大家介绍了Java两大工具库Commons和Guava使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • Druid关闭监控页面关闭不了的问题及解决

    Druid关闭监控页面关闭不了的问题及解决

    这篇文章主要介绍了Druid关闭监控页面关闭不了的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • Spring与Dubbo搭建一个简单的分布式详情

    Spring与Dubbo搭建一个简单的分布式详情

    这篇文章主要介绍了Spring与Dubbo搭建一个简单的分布式详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • 关于druid连接池的使用详解

    关于druid连接池的使用详解

    文章介绍了Druid连接池的两种使用方式:直接在代码中配置和通过配置文件配置,同时,文章详细讲解了如何在Web项目中启用Druid的监控功能,包括配置web.xml文件、设置过滤器等步骤,最后,文章还提到了Druid提供的加密解密工具,使数据库密码更安全
    2025-02-02
  • Java @Scheduled定时器用法解析

    Java @Scheduled定时器用法解析

    这篇文章主要介绍了Java @Scheduled定时器用法解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • Java实现MD5加密的方式与实例代码

    Java实现MD5加密的方式与实例代码

    MD5加密是一种常见的加密方式,我们经常用在保存用户密码和关键信息上。那么它到底有什么,又什么好处呢,会被这么广泛的运用在应用开发中
    2021-10-10

最新评论