当前位置: 首页 > 软件库 > 服务器软件 > 存储系统 >

gmfs

分布式文件服务
授权协议 Apache
开发语言 Google Go
所属分类 服务器软件、 存储系统
软件类型 开源软件
地区 国产
投 递 者 梁丘经艺
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

golang 基于 gridFs 的分布式文件服务。

支持:

   1、POST GET 上传

   2、图片大小控制

   3、文件下载,秒传,转正处理

   等

golang 基于 gridFs 的分布式文件服务

Window 启动 mongodb 命令:

mongod.exe --dbpath "C:\Program Files\MongoDB\data"

giraffe 启动:

go run giraffe start

api 说明

code        响应编码

1000        正常消息

1001        异常消息

1002        保存失败

1003        读取失败

1004        超过限制大小,默认小于80M

1005        图片涉黄

1006        不支持文件

message     响应内容

1、code 为 1000 正常消息,时 message 为响应结果

2、其他情况为错误描述

rdm         随机数(重置图片使用)

mime    文件展类型,例如 "image/jpeg" , "application/pdf" 等

suffix      上传文件后缀

演示 demo 地址:http://localhost:1323/demo.html

(1)、POST 上传

地址:/upload.html

参数:file       文件属性名

参数:nude       可选(检查是否涉黄 true 是, false 否)

参数:online     可选(全局允许上线 online 为 false 不允许上线才生效,true 是, false 否)

参数:resetId    可选(resetId 与 resetRdm 同时存在,替换指定图片)

参数:resetRdm   可选(resetId 与 resetRdm 同时存在,替换指定图片)

演示地址:http://localhost:1323/upload.html

返回 JSON 例如:

{
    "code": "1000",
    "message": "55c83f2a07986a0838000003",
    "mime": "image/jpeg",
    "rdm": "L5Ap4",
    "suffix": ".jpg"}

(2)、GET 上传

地址:/proxy.html

参数:uri        文件地址

参数:nude       可选(检查是否涉黄 true 是, false 否)

参数:online     可选(全局允许上线 online 为 false 不允许上线才生效,true 是, false 否)

参数:resetId    可选(resetId 与 resetRdm 同时存在,替换指定图片)

参数:resetRdm   可选(resetId 与 resetRdm 同时存在,替换指定图片)

演示地址:http://localhost:1323/proxy.html?uri=http://p5.qhimg.com/dmt/490_350_/t01d49b7191cbc97c11.jpg

返回 JSON 例如:

{
    "code": "1000",
    "message": "55c83f2a07986a0838000003",
    "mime": "image/jpeg",
    "rdm": "L5Ap4",
    "suffix": ".jpg"}

(3)、显示(原样输出 byte 流)

地址:dispaly/:id.html?watermark=true

参数:id         唯一ID(上传成功 message 返回的字符串)

参数:watermark  可选(只对图片有效,全局设置不开启水印,请求可通过该参数打开水印 true 是, false 否)

演示地址:http://localhost:1323/dispaly/55c83f2a07986a0838000003.html

图片缩放处理

1、等比缩放 100 像素

http://localhost:1323/dispaly/55c83f2a07986a0838000003_100.html

2、缩放为 100x100 像素

http://localhost:1323/dispaly/55c83f2a07986a0838000003_100x100.html

注意!限制宽高大于 50 像素, 宽高小于2倍的实际像素。

(4)、文件下载

地址:/download/:id.html?name=xx

参数:id         唯一ID(上传成功 message 返回的字符串)

参数:name       可选(文件名称,默认使用 id 命名)

演示地址:http://localhost:1323/download/55c83f2a07986a0838000003.html

    http://localhost:1323/download/55c83f2a07986a0838000003.html?name=20150806

(5)、秒传(查询是否存在)

地址:/search/:md5/:size.html

参数:md5    文件 md5 值

参数:size   文件大小(单位 B 字节)

演示地址:http://localhost:1323/search/3fbef3c587cf53c88b282b614cad105f/34562.html

{
    "code": "1000",
    "message": "55c83f2a07986a0838000003",
    "mime": "image/jpeg",
    "rdm": "L5Ap4",
    "suffix": ".jpg"}

(6)、文件转正(开启文件失效功能,才需要转正)

地址:/online/:id/:rdm.html

参数:id     唯一ID

参数:rdm    随机数

演示地址:http://localhost:1323/online/55c83f2a07986a0838000003/L5Ap4.html

{
    "code": "1001",
    "message": true}

Futures

1、欢迎提出更好的意见,帮助完善 gmfs

 相关资料
  • 问题内容: 您将使用哪种分布式锁定服务? 要求是: 可以从不同的进程/机器看到的互斥(锁定) 锁定…释放语义 超时后自动释放锁-如果锁持有人死亡,它将在X秒后自动释放 Java实现 很高兴拥有:.Net实现 如果免费:死锁检测/缓解 易于部署,请参阅下面的注释。 我对诸如“可以通过数据库完成”或“可以通过JavaSpaces完成”之类的答案不感兴趣-我知道。我对现成的,现成的,经过验证的实现感兴趣

  • 链接 Web API Controllers 动态WebApi层 集成OData 集成Swagger UI ASPNET Core 集成OData

  • 数据存储容量的问题。 数据读写速度的问题。 数据可靠性的问题。 几种常见 RAID 的对比|名称|优点|缺点| |------|------|------| |RAID 0|使用 N 块磁盘的 RAID 0,将数据从内存写入磁盘时,将数据分成 N 块,并发写入,读取同理。所以,读写速度是单盘的 N 倍。|任何一块盘损坏,数据完整性破坏,数据不可用。| |RAID 1|数据写入磁盘时,将一份数据同时

  • 一、介绍 HDFS (Hadoop Distributed File System)是 Hadoop 下的分布式文件系统,具有高容错、高吞吐量等特性,可以部署在低成本的硬件上。 二、HDFS 设计原理 2.1 HDFS 架构 HDFS 遵循主/从架构,由单个 NameNode(NN) 和多个 DataNode(DN) 组成: NameNode : 负责执行有关 文件系统命名空间 的操作,例如打开,

  • 5.3 ABP分布式服务 - 集成OData 5.3.1 简介 开放数据协议(Open Data Protocol,缩写OData)是一种描述如何创建和访问Restful服务。你可以在Abp中使用OData,只需要通过Nuget来安装Abp.Web.Api.OData. 5.3.2 安装 1. 使用Nuget安装 首先应该使用Nuget安装Abp.Web.Api.OData到我们的WebApi项目

  • 5.1 ABP分布式服务 ASP.NET Web API Controllers 5.1.1 简介 ABP已经把 ASP.NET Web API Controllers 集成到了 Abp.Web.Api,你只要通过Nuget安装它。正如你一直那样做得,你可以创建常规的ASP.NET Web API Controllers, 依赖注入可以解析常规的ApiControllers。 为了能够享受使用AB