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

文刀 发布于 阅读:1

>点击下方>【>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、若您为相关软件/资源的版权方,对内容有异议,请联系我们,我们将在第一时间处理

需要登录才能发表回复

请登录或注册以继续。