gmfs

module
v0.0.0-...-8375e82 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 21, 2016 License: Apache-2.0

README

#gmfs

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

http://www.oschina.net/p/gmfs

gmfs 捐赠记录,感谢你们的支持!

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

开源赞助我(支付宝)

GitHub

Apache License, Version 2.0

关注我

程序员日记

Directories

Path Synopsis
cache
Package cache provides basic caching mechanisms for Go(lang) projects.
Package cache provides basic caching mechanisms for Go(lang) projects.
logger
gmfs logger
gmfs logger
storage
gmfs storage, use mongodb
gmfs storage, use mongodb
tools/pic/bmp
Package bmp implements a BMP image decoder and encoder.
Package bmp implements a BMP image decoder and encoder.
tools/pic/resize
Package resize implements various image resizing methods.
Package resize implements various image resizing methods.
tools/rdm
* * random 随机数
* * random 随机数
tools/util
gmfs util
gmfs util
web/ink
gopic web framework
gopic web framework

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL