oss-server

对象存储系统 oss-server

Apache
Java 查看源码»
跨平台
2018-06-13
八一菜刀

oss-server 对象存储系统(Simple OSS Server)

项目介绍

oss-server是针对项目开发时提供的小型对象存储系统,开发者在针对文件上传时业务剥离,同时方便文件迁移,为满足单个项目,多个系统的情况下,提供统一的oss服务

oss-server主要提供功能:

  1. 上传功能

  2. 文件在线管理功能(包括文件的预览、内部上传、删除、更名)

  3. 权限管理(上传api权限用户维护、oss-server登录系统维护)

oss-server使用tomcat+nginx的方式,tomcat提供上传对象存储的能力,nginx提供在线访问的能力

oss不提供文件相关日志存储功能,是纯技术中间件

server端主要配置(application.properties)如下:

#素材存储路径 -- 以/结尾
material.root=/home/material/
#素材下载路径根目录,该目录是nginx读取目录,可以使用域名
material.invokingRoot=http://192.168.0.7/

使用以上配置,服务端nginx配置如下:

server{
        listen          80;
        server_name 192.168.0.7;
        charset utf-8;
        location / {
           root /home/material/;
        }
    }

该配置只是简单配置nginx访问路径,server_name可以是域名.

管理员预览

输入访问路径:http://ip:port/

输入application.properties配置文件中的用户名密码:

#验证用户名 密码
oss.security.userName=admin
oss.security.password=adminA123

oss-server提供以下两种提交方式

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文件格式类型

响应json

{
    "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"
    }]
}

响应参数说明

参数说明
code错误码,8200为成功
message错误信息
data上传成功后文件返回信息
id文件唯一标识
url文件在线访问url
store文件静态存储路径

form表单直接提交

该方式前端可直接通过form提交上传,后端不需要提供中转

  • 请求接口:/oss/material/{project}/uploadMaterial

  • 接口类型:post

  • 请求参数:

参数说明
project项目名称,oss-server会根据该名称创建项目目录,方便后续程序迁移
module模块名称,可为空,很多情况下,我们希望分模块来存储我们的上传资源,这个时候,可以使用该module字段,例如:/product/wechat,此时,oss生成的全路径是:{project}/product/wechat/...
file上传文件名称,可以是数组多个文件

响应json

{
    "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"
    }]
}

form表单代码示例如下

            Title

软件架构

  • 后端框架:SpringBoot 2.0.2.RELEASE

  • 后端模块:freemarker

  • 前端框架:layer+Bootstrap

安装教程

  1. 下载源码:git clone https://gitee.com/xiaoym/oss-server.git

  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

参与贡献

  1. Fork 本项目

  2. 新建 Feat_xxx 分支

  3. 提交代码

  4. 新建 Pull Request

的码云指数为
超过 的项目
加载中
此软件有 3 条评论,请先登录后再查看。

oss-server 1.1 版本发布,小型对象存储系统

oss-server 1.1 正式发布了。oss-server 是针对项目开发时提供的小型对象存储系统,开发者在针对文件上传时业务剥离,同时方便文件迁移,为满足单个项目,多个系统的情况下,提供统一的 oss ...

2018/06/25 16:38

oss-server 1.0 版本发布 小型对象存储系统

oss-server 1.0 正式发布了。oss-server 是针对项目开发时提供的小型对象存储系统,开发者在针对文件上传时业务剥离,同时方便文件迁移,为满足单个项目,多个系统的情况下,提供统一的 oss ...

2018/06/19 09:28

没有更多内容

加载失败,请刷新页面

没有更多内容

暂无问答

oss-server 小型对象存储系统

oss-server 项目介绍 oss-server是针对项目开发时提供的小型对象存储系统,开发者在针对文件上传时业务剥离,同时方便文件迁移,为满足单个项目,多个系统的情况下,提供统一的oss服务 oss-se...

2018/06/13 13:06
7
0
oss-server 小型对象存储系统

## 项目介绍 oss-server是针对项目开发时提供的小型对象存储系统,开发者在针对文件上传时业务剥离,同时方便文件迁移,为满足单个项目,多个系统的情况下,提供统一的oss服务 oss-server主要提...

2018/06/12 22:21
250
0
oss-server 简单对象存储系统

摘要: oss-server是针对项目开发时提供的小型对象存储系统,开发者在针对文件上传时业务剥离,同时方便文件迁移,为满足单个项目,多个系统的情况下,提供统一的oss服务 项目介绍 oss-server...

2018/06/14 13:11
209
0
SQL server数据异地备份到OSS

背景需求: 某部门需要将windows机器上的SQL server数据做一个异地备份,经过对现有的软硬件资源评估,决定使用阿里云的OSS存储 方法:利用SQLserver自带的维护计划做指定数据库的备份,通过...

2019/04/30 10:10
22
0
OSS 入门基础篇- what OSS

产品定义 阿里云对象存储服务(Object Storage Service,简称 OSS),OSS 具有与平台无关的 RESTful API 接口,您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。兼容 AWS S3...

04/15 11:25
82
0
Severless SQL on OSS 实验(DataLakeAnalytics on OSS)

摘要: 数据存储在OSS后,可以有多种方式查询分析OSS数据,如自建Spark/Presto/Impala(阿里云EMR以及Hadoop社区官方已支持OSS), 使用MaxCompute、DataLakeAnalytics等。 基于OSS的数据查询...

2018/06/20 16:25
27
0
PhalApi-OSS--阿里云OSS包

日常大家都会选择文件服务器,阿里云的OSS当然是个不错的选择,可以存放大量的图片以及压缩文件等,还可以开启cdn加速,但是使用起来并不是那么的舒服,所以对OSS进行了封装希望大家喜欢!...

2016/03/13 11:56
227
1
oss

yum install mailcap vi /etc/mime.types https://help.aliyun.com/document_detail/32197.html?spm=5176.11065259.1996646101.searchclickresult.354d6b2aoWazSV......

2019/04/26 15:30
7
0
Severless SQL on OSS 实验(DataLakeAnalytics on OSS)

摘要: 数据存储在OSS后,可以有多种方式查询分析OSS数据,如自建Spark/Presto/Impala(阿里云EMR以及Hadoop社区官方已支持OSS), 使用MaxCompute、DataLakeAnalytics等。 基于OSS的数据查询...

2018/06/20 16:20
90
0
oss问题

思路:通过后端人员给的接口获取oss配置信息,上传文件或图片连同这些获取到的oss信息 上传到oss服务器。 有几个注意的地方,上传成功时 不会有返回信息。 成功时的默认是204,后端可以设置为...

2019/08/20 15:33
82
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部