一、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(".")));
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论