golang保存图片到数据库

本文介绍了如何在Golang中将图片的路径存储到数据库而不是直接保存二进制数据,以避免高并发下对数据库的压力。通过`uploadImg.go`和`uploadImg.html`两个文件的配合,实现图片上传并记录其路径到数据库,同时图片保存在本地服务器的`UPLOAD_PATH`目录下。
摘要由CSDN通过智能技术生成

图片保存到数据库通常有两种做法:一是把图片转化成二进制形式,然后保存到数据库中;二是将图片保存的路径存储在数据库中。
由于图片一般都在几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"
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值