图片保存到数据库通常有两种做法:一是把图片转化成二进制形式,然后保存到数据库中;二是将图片保存的路径存储在数据库中。
由于图片一般都在几M,所以当以二进制流的形式保存到数据库中时,在高并发的情况下,会加重数据库的负担。(至于更详细的原因,后期文章会做分享)因此大多数会选择第二种做法。下面就是以第二种方式进行图片保存的。
uploadImg.go
package main
import (
"net/http"
"html/template"
"fmt"
"strings"
"os"
"io"
"gopkg.in/mgo.v2/bson"
"gopkg.in/mgo.v2"
)
const UPLOAD_PATH string = "C:/Users/benben/Desktop/"
type Img struct {
Id bson.ObjectId `bson:"_id"`
ImgUrl string `bson:"imgUrl"`
}
func main() {
http.HandleFunc("/entrance", Entrance)
http.HandleFunc("/uploadImg", UploadImg)
http.ListenAndServe(":8000"