gmfs 分布式文件服务开源项目

我要开发同款
匿名用户2015年08月13日
36阅读
所属分类Google Go、服务器软件、存储系统
授权协议Apache

作品详情

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

支持:

  1、POSTGET上传

  2、图片大小控制

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

  等

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

Window启动mongodb命令:

mongod.exe--dbpath"C:\ProgramFiles\MongoDB\data"

giraffe启动:

gorungiraffestart

api说明

code    响应编码

1000    正常消息

1001    异常消息

1002    保存失败

1003    读取失败

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

1005    图片涉黄

1006    不支持文件

message  响应内容

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

2、其他情况为错误描述

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

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

suffix   上传文件后缀

演示demo地址:https://localhost:1323/demo.html(1)、POST上传

地址:/upload.html

参数:file   文件属性名

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

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

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

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

演示地址:https://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同时存在,替换指定图片)

演示地址:https://localhost:1323/proxy.html?uri=https://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否)

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

图片缩放处理

1、等比缩放100像素

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

2、缩放为100x100像素

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

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

(4)、文件下载

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

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

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

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

    https://localhost:1323/download/55c83f2a07986a0838000003.html?name=20150806(5)、秒传(查询是否存在)

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

参数:md5  文件md5值

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

演示地址:https://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  随机数

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

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

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

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论