小型阿里云oss!一款开源、永久免费的轻量级对象存储系统,可存储各类文件

>点击下方>【>IT学习日记>】“>关注>”、选择 “>设为标星>”
每天三分钟、打卡阅读
>最快>获取全网学习干货、行业>资讯
简介Oss-Server是一款基于SpringBoot构建的开源、永久免费的轻量级对象存储系统,旨在给中小型企业提供简单易用,可私有化部署的文件上传和管理解决方案。系统内置文件上传、下载、预览、分组管理、权限控制等核心功能,可与任意前端系统快速集成,构建专属的对象存储系统。
项目采用模块化设计,基于tomcat+nginx技术栈实现,tomcat提供上传对象存储的能力,nginx提供在线访问的能力。用户可将各类系统的图片、音视频、文档、压缩包等多格式文件进行统一存储与访问管理,满足单个项目,多个系统等不同场景下,实现统一的oss服务。
技术栈后端框架:SpringBoot
后端模块:freemarker
前端框架:layer+Bootstrap
系统截图文件列表

文件管理
应用示例Oss-Server提供以下两种提交方式即:base64字符串格式提交 和 form表单直接提交
1、base64字符串格式提交
该方式是后端需要将文件转换成base64字符串,提交给oss-server,该方式oss-server提供了java版的sdk,具体可参看oss-server-sdk-java程序
请求接口:/oss/material/uploadByBinary
接口类型:post
请求类型:application/json
请求参数
{
"project": "",
"files": [
{
"original_name": "test.png",
"file": "文件流base64字符串",
"media_type": "png"
}
]
}
字段说明:
参数 说明
project 项目名称,oss-server会根据该名称创建项目目录,方便后续程序迁移
files 上传文件数组
original_name 文件原始名称
file 文件流base64字符串
media_type 文件格式类型
响应:
{
"code": "8200",
"message": "Success",
"data": [{
"id": "1a4c705d260647cc9be951ead3a449e6",
"url": "http://192.168.0.7/province_IIII/201805/30/1a4c705d260647cc9be951ead3a449e6.jpg",
"store": "/province_IIII/201805/30/1a4c705d260647cc9be951ead3a449e6.jpg"
}]
}
2、form表单直接提交
该方式前端可直接通过form提交上传,后端不需要提供中转
请求接口:/oss/material/{project}/uploadMaterial
接口类型:post
请求参数:
参数 说明
project 项目名称,oss-server会根据该名称创建项目目录,方便后续程序迁移
module 模块名称,可为空,很多情况下,我们希望分模块来存储我们的上传资源,这个时候,可以使用该module字段,例如:/product/wechat,此时,oss生成的全路径是:{project}/product/wechat/...
file 上传文件名称,可以是数组多个文件
响应
{
"code": "8200",
"message": "Success",
"data": [{
"id": "1a4c705d260647cc9be951ead3a449e6",
"url": "http://192.168.0.7/province_IIII/201805/30/1a4c705d260647cc9be951ead3a449e6.jpg",
"store": "/province_IIII/201805/30/1a4c705d260647cc9be951ead3a449e6.jpg"
}]
}
安装教程1、下载源码(地址在文后)
2、修改application.properties配置文件,主要修改以下oss对外域名路径已经上传存储路径
#素材存储路径 -- 以/结尾
material.root=/home/material/
#素材下载路径根目录
material.invokingRoot=http://192.168.0.7/
3、打包:mvn package
4、运行jar包:java -jar oss-server-0.0.1-SNAPSHOT.jar
更新进度1000+优质开源项目更新进度:339/1000。如需更多类型优质项目推荐,请在文章后留言。
开源地址&使用手册点击下方公众号 回复 资源 获取!
往期精彩挖到宝了!一款基于golang开发的开源企业级物联网平台,适配TCP、MQTT等多种协议
比Notion更强大!一款基于MIT协议开源、永久免费的知识笔记与博客系统,可任意二开商业收费
永久免费使用!一款适合中小团队和个人的全功能团队协同工具,代码100%开源
获取更多精彩内容和开源项目 ,请关注微信公众号!
免责声明
1、本文所分享的软件、代码或资源,均来自开源社区,遵循其原始许可证(如MIT、GPL等)。仅供学习和研究使用,严禁用于任何违法行为。
2、使用者在下载、部署或使用本项目(或文中提及的软件)时,需自行判断其适用性与合法性,由此产生的一切风险与责任均由使用者自行承担。
3、我们尊重原作者的知识产权,已在文中注明来源及原始作者(如有遗漏,请联系我们及时更正或删除)。
4、本文不对开源软件的安全性、可用性或完整性做任何保证,亦不承担由其引发的任何直接或间接损失责任。
5、若您为相关软件/资源的版权方,对内容有异议,请联系我们,我们将在第一时间处理

需要登录才能发表回复
请登录或注册以继续。