1 Star 0 Fork 0

GoAdmin / admin-core

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
source.go 1.03 KB
一键复制 编辑 原始数据 按行查看 历史
GoAdmin 提交于 2022-06-08 16:39 . test
package poster
import (
"bytes"
"crypto/tls"
"errors"
"image"
"io/ioutil"
"net/http"
)
// GetImage 从源读取图片,支持网络和本地
func GetImage(src string) (m image.Image, err error) {
var r *bytes.Reader
r, err = getResourceReader(src)
if err != nil {
return nil, err
}
m, _, err = image.Decode(r)
return
}
// getResourceReader 读取图片 支持本地和网络图片
func getResourceReader(src string) (r *bytes.Reader, err error) {
if len(src) < 5 {
return nil, errors.New("图片源错误")
}
//跳过证书验证
c := &http.Client{
Transport: &http.Transport{
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
},
}
if src[0:4] == "http" {
resp, err := c.Get(src)
if err != nil {
return r, err
}
defer resp.Body.Close()
fileBytes, err := ioutil.ReadAll(resp.Body)
if err != nil {
return r, err
}
r = bytes.NewReader(fileBytes)
} else {
fileBytes, err := ioutil.ReadFile(src)
if err != nil {
return nil, err
}
r = bytes.NewReader(fileBytes)
}
return r, nil
}
Go
1
https://gitee.com/GoAdminCore/admin-core.git
git@gitee.com:GoAdminCore/admin-core.git
GoAdminCore
admin-core
admin-core
v1.0.0

搜索帮助