gmfs 分布式文件服务 gmfs

agolangf • 2962 次点击    
这是一个分享于 的项目,其中的信息可能已经有所发展或是发生改变。
golang 基于 [gridFs](http://www.oschina.net/p/gridfs) 的分布式文件服务。 支持:    1、POST GET 上传    2、图片大小控制    3、文件下载,秒传,转正处理    等 golang 基于 gridFs 的分布式文件服务 # Window 启动 mongodb 命令: mongod.exe --dbpath &#34;C:\Program Files\MongoDB\data&#34; # giraffe 启动: go run giraffe start # api 说明 code        响应编码 1000        正常消息 1001        异常消息 1002        保存失败 1003        读取失败 1004        超过限制大小,默认小于80M 1005        图片涉黄 1006        不支持文件 message     响应内容 1、code 为 1000 正常消息,时 message 为响应结果 2、其他情况为错误描述 rdm         随机数(重置图片使用) mime    文件展类型,例如 &#34;image/jpeg&#34; , &#34;application/pdf&#34; 等 suffix      上传文件后缀 ### 演示 demo 地址:[http://localhost:1323/demo.html](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](http://localhost:1323/upload.html) 返回 JSON 例如: <pre>{     &#34;code&#34;: &#34;1000&#34;,     &#34;message&#34;: &#34;55c83f2a07986a0838000003&#34;,     &#34;mime&#34;: &#34;image/jpeg&#34;,     &#34;rdm&#34;: &#34;L5Ap4&#34;,     &#34;suffix&#34;: &#34;.jpg&#34;}</pre> ### (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](http://localhost:1323/proxy.html?uri=http://p5.qhimg.com/dmt/490_350_/t01d49b7191cbc97c11.jpg) 返回 JSON 例如: <pre>{     &#34;code&#34;: &#34;1000&#34;,     &#34;message&#34;: &#34;55c83f2a07986a0838000003&#34;,     &#34;mime&#34;: &#34;image/jpeg&#34;,     &#34;rdm&#34;: &#34;L5Ap4&#34;,     &#34;suffix&#34;: &#34;.jpg&#34;}</pre> ### (3)、显示(原样输出 byte 流) 地址:dispaly/:id.html?watermark=true 参数:id         唯一ID(上传成功 message 返回的字符串) 参数:watermark  可选(只对图片有效,全局设置不开启水印,请求可通过该参数打开水印 true 是, false 否) 演示地址:[http://localhost:1323/dispaly/55c83f2a07986a0838000003.html](http://localhost:1323/dispaly/55c83f2a07986a0838000003.html) ### 图片缩放处理 1、等比缩放 100 像素 [http://localhost:1323/dispaly/55c83f2a07986a0838000003_100.html](http://localhost:1323/dispaly/55c83f2a07986a0838000003_100.html) 2、缩放为 100x100 像素 [http://localhost:1323/dispaly/55c83f2a07986a0838000003_100x100.html](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) <pre>    http://localhost:1323/download/55c83f2a07986a0838000003.html?name=20150806</pre> # (5)、秒传(查询是否存在) 地址:/search/:md5/:size.html 参数:md5    文件 md5 值 参数:size   文件大小(单位 B 字节) 演示地址:[http://localhost:1323/search/3fbef3c587cf53c88b282b614cad105f/34562.html](http://localhost:1323/search/3fbef3c587cf53c88b282b614cad105f/34562.html) <pre>{     &#34;code&#34;: &#34;1000&#34;,     &#34;message&#34;: &#34;55c83f2a07986a0838000003&#34;,     &#34;mime&#34;: &#34;image/jpeg&#34;,     &#34;rdm&#34;: &#34;L5Ap4&#34;,     &#34;suffix&#34;: &#34;.jpg&#34;}</pre> ### (6)、文件转正(开启文件失效功能,才需要转正) 地址:/online/:id/:rdm.html 参数:id     唯一ID 参数:rdm    随机数 演示地址:[http://localhost:1323/online/55c83f2a07986a0838000003/L5Ap4.html](http://localhost:1323/online/55c83f2a07986a0838000003/L5Ap4.html) <pre>{     &#34;code&#34;: &#34;1001&#34;,     &#34;message&#34;: true}</pre> ### Futures 1、欢迎提出更好的意见,帮助完善 gmfs **关注我** **![image](http://static.oschina.net/uploads/space/2016/0121/095003_TLnJ_241218.png)**
授权协议:
Apache
开发语言:
Google Go 查看源码»
操作系统:
跨平台
2962 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传