代码拉取完成,页面将自动刷新
基于Springboot 2.x的文件服务器,提供文件上传,选择,展示,下载,支持缩略图等功能,可以配置本地,七牛,OSS三种存储方式,可以独立部署。
项目后台代码有参考 oneBlog,感谢大佬的付出。
项目resource下面有两个配置文件,主要配置上传需要的参数
application.yml
app:
#配置允许跨域访问的地址
allowDomain: http://127.0.0.1:8081;http://127.0.0.1:8086;http://59.110.236.115;http://59.110.236.115:86;
#配置允许访问的IP
allowIps: 127.0.0.1
fs.properties
# local qiniu aliyunOss
fs.storageType= qiniu
fs.serverUrl=http://javabb.cn:8082/
#fs.rootPath=D:/javabb/upload/
fs.rootPath=/upload/javabb-fs
fs.uploadType=bbs/
fs.useSm: true
fs.useNginx=false
fs.nginxUrl=http://59.110.236.115:80/
# qiniu 配置
fs.qiniuBucketName=XXXX
fs.qiniuAccessKey=XXXXXXXXXXX
fs.qiniuSecretKey=XXXXXXXXXX
fs.qiniuBasePath=XXX
参数说明
storageType
:当前的存储方式,参数可选['local','qiniu','aliyunOss'],表示当前的上传的图片存储的地方serverUrl
: 当前部署的服务器的访问域名rootPath
: 根目录 只在torageType
是local的时候才会用到useSm
: 是否开启缩略图useNginx
:是否开启Nginx访问nginxUrl
:配置Nginx的地址qiniuBucketName
:七牛云存储中的存储空间的名字 例如:javabbqiniuAccessKey
: AK,在七牛的个人中心的密钥管理中有,需要申请。qiniuSecretKey
: SK,在七牛的个人中心的密钥管理中有,需要申请。qiniuBasePath
: 加速域名serverUrl/file/upload
,提供参数uploadType,上传的文件会上传到uploadType下面,默认上传的文件位置common// 上传文件事件
upload.render({
elem: '#btnUpload',
url: '/file/upload',
//data:{uploadType:$('#tvFP').text()},
before: function(obj){
var cDir = $('#tvFP').text();
var uploadType;
if (cDir != '/'){
uploadType = cDir.substring(1).substring(0,cDir.indexOf("/")+1);
this.data={"uploadType": uploadType};
}
},
choose: function (obj) {
layer.load(2);
},
done: function (res, index, upload) {
layer.closeAll('loading');
if (res.code != 200) {
layer.msg('上传失败', {icon: 2});
} else {
layer.msg('上传成功', {icon: 1});
$('#tvFP').text('/'+res.uploadType);
renderList();
}
},
error: function () {
layer.closeAll('loading');
layer.msg('上传失败', {icon: 2});
},
accept: 'file'
});
serverUrl/fileChoose.html
参数 | 可选值 | 作用 |
---|---|---|
accept | 可上传的文件类型 | |
exts | .jpg | 显示图片的后缀 |
multi | true/false | 开启多选 |
maxNum | 数值 | 最大选择文件数 |
uploadType | 英文 | 上传文件的类型 |
文件选择后会向父窗口提供一个mFsUrls
参数,支持跨域,直接获取。
例如,调用,
// 表单选择
$('#btnSel').click(function () {
layer.open({
type: 2,
title: '选择文件',
content: 'http://127.0.0.1:8082/fileChoose.html?accept=image',
area: ['600px', '420px'],
offset: '50px',
shade: .1,
fixed: false,
resize: false,
success: function(layero, index){
window.addEventListener('message',function(e){
if (typeof(e.data.mFsUrls) != "undefined" && e.data.mFsUrls.length > 0) {
$('#catalogImage').val(e.data.mFsUrls[0]);
}else{
B.error("发生错误");
}
layer.close(index);
},false);
}
});
});
mvn clean package
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。