使用Golang的Web框架Beego搭建基于七牛云存储的图床

感觉标题很拗口,说白了就是使用了下面几种东西,搭建了个图床,算是学习Go以后的第一个Web应用,程序很简单,代码也很烂。

  • Golang
  • WebFramework Beego
  • Xorm
  • Sqlite
  • 七牛云存储

演示: http://fp.simman.cc

源码: https://github.com/simman/Image_Beego_Qiniu

其中有两个地方小麻烦了一下,第一个是 xorm 的字段多属性,貌似在文档里并没有说明该怎么使用,后来找了一些其他的基于Xorm的开源应用,知道可以如下添加多属性

1
Name       string       `xorm:"size(32) index(users_name)"`

第二个是七牛API里面想要返回上传的文件具体的信息,找了好久才知道有什么魔术变量,可能是我智商不够,文档没有读懂,后来摸索着还是找出了解决方法:

1
ReturnBody:  `{"key": $(key),"bucket": $(bucket), "hash": $(etag), "fname": $(fname), "fsize": $(fsize),"mimeType": $(mimeType), "endUser": $(endUser), "persistentId": $(persistentId), "exif": $(exif),"imageInfo": $(imageInfo), "ext": $(ext), "uuid": $(uuid)}`,

其他的属性可以通过七牛官方的文档 变量 来获取.