开发相关知识学习

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

如何安装

1、下载源码

go get -u github.com/simman/Image_Beego_Qiniu

2、Beego、Bee工具

go get -u github.com/astaxie/beego
go get github.com/beego/bee

3、Xorm、go-sqlite3

go get -u github.com/go-xorm/xorm
go get -u github.com/mattn/go-sqlite3

4、无闻的com包

go get -u github.com/Unknwon/com

5、七牛官方的Go-SDK

go get -u github.com/qiniu/api

运行

bee run

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

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

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

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

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

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

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

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)}`,

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