EasyFS
简介
轻量级文件服务器,支持缩略图,支持单选、多选,下载支持中文名,不依赖其它容器,可独立部署,使用Java语言、SpringBoot框架开发。
在线演示:在线演示,演示系统关闭上传和删除功能。
独立部署
- 下载打包好的可部署文件 最新版下载;
- 执行start.bat文件,linux使用命令nohup java -jar xxx.jar;
- 访问
http://localhost:8081/
,即可在线管理文件。
你也可以使用IDEA导入源码运行,如果是SpringMVC项目可复制源码FileController到你的项目里面使用。
项目截图
在线管理:
选择文件:
使用指南
上传接口
http://文件服务器ip:8081/file/upload
,使用POST方式,传递file参数:
<button id="btnUpload">上传文件</button>
<script>
layui.use(['jquery', 'layer', 'upload'], function () {
var $ = layui.jquery;
var layer = layui.layer;
var upload = layui.upload;
// 上传文件事件
upload.render({
elem: '#btnUpload',
url: 'file/upload',
choose: function (obj) {
layer.load(2);
},
done: function (res, index, upload) {
layer.closeAll('loading');
if (res.code == 200) {
layer.msg('上传成功', {icon: 1});
// res.url; 文件地址
// res.smUrl; 缩略图地址
} else {
layer.msg('上传失败', {icon: 2});
}
},
error: function () {
layer.closeAll('loading');
layer.msg('上传失败', {icon: 2});
},
accept: 'file'
});
});
</script>
返回数据:{"code": 200, "msg": "上传成功", "url": "2018/12/24/xxx.png", "smUrl": "sm/2018/12/24/xxx.png"}
。
查看/下载接口
<a href="file/2018/12/24/xxx.png">查看源文件</a>
<a href="file/sm/2018/12/24/xxx.png">查看缩略图</a>
如果是图片、音频、视频、pfd、网页、文本类型的文件会在浏览器直接打开,其他类型弹出下载框。
打开选择文件弹窗
layer.open({
type: 2,
title: '选择文件',
content: 'fileChoose.html?multi=true',
area: ['600px', '420px'],
offset: '50px',
shade: .1,
fixed: false,
resize: false,
end: function () {
if (typeof(mFsUrls) != "undefined" && mFsUrls.length > 0) {
layer.msg('你选择了:' + JSON.stringify(mFsUrls), {icon: 1});
mFsUrls = undefined;
}
}
});
上面是使用layer弹窗插件打开选择文件弹窗,fileChoose.html
是弹窗页面,如果是独立部署,写http://文件服务器ip:8081/fileChoose.html
。
参数配置:
参数名 | 描述 | 可选值 |
---|---|---|
accept | 允许上传的文件类型 | image(图片)、video(视频)、audio(音频)、file(所有文件) |
exts | 允许上传的后缀 | 使用, 分割,例如jpg,png ,就不能上传gif |
multi | 是否是多选 | true和false,不写默认为false |
maxNum | 多选时最多选择几个 | 默认无限 |
示例: fileChoose.html?accept=image&exts=png,jpg&multi=false
服务器参数配置
默认配置为上传到第一个硬盘的EasyFS/
文件夹中,并且会生成图片缩略图。
可选参数:
参数名称 | 描述 | 可选值 |
---|---|---|
fs.dir | 文件上传位置 | 默认是EasyFS/ |
fs.uuidName | 是否使用uuid命名 | 默认为false ,使用文件原本名字,存在则加(1) |
fs.useSm | 是否生成缩略图 | 默认为true |
fs.useNginx | 是否使用nginx作为服务器 | 默认为false |
fs.nginxUrl | nginx服务器地址 |
修改application.properties文件重新打包部署即可,如果不想重新打包,可通过如下方式修改:
// 修改start.bat
java -jar easy-fs-1.0.jar --fs.dir=XXX/ --fs.uuidName=true
使用nginx作为服务器,fs.dir
写nginx的html目录,访问文件使用http://服务器ip:nginx端口/文件地址
的形式访问。
推荐
EasyWeb管理系统模板
一个开箱即用的后台模板,使用简单,模板丰富,包含传统ifram版、spa单页面路由版,前往查看。