java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > JeecgBoot文件上传方式

JeecgBoot文件上传实现方式

作者: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: 服务器地址:端口号/项目名/sys/common/static/
@Value("${jeecg.path.url}")
private String upLoadUrl;

三、阿里云上传方式

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

uploadType: alioss

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

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

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

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

//按时间分文件夹
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(".")));

总结

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

您可能感兴趣的文章:
阅读全文