4 Star 22 Fork 9

aochulai / GoMiniblink

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
LoadResource.go 750 Bytes
一键复制 编辑 原始数据 按行查看 历史
aochulai 提交于 2020-12-19 14:12 . 新增从内嵌资源加载的示例
package GoMiniblink
import (
"io/ioutil"
url2 "net/url"
"os"
"strings"
)
type LoadResource interface {
Domain() string
ByUri(uri *url2.URL) []byte
}
type FileLoader struct {
domain string
dir string
}
func (_this *FileLoader) Init(dir, domain string) *FileLoader {
_this.dir = strings.TrimRight(dir, string(os.PathSeparator))
_this.domain = strings.ToLower(strings.TrimRight(domain, "/"))
return _this
}
func (_this *FileLoader) Domain() string {
return _this.domain
}
func (_this *FileLoader) ByUri(uri *url2.URL) []byte {
path := strings.Join([]string{_this.dir, uri.Path}, "")
path = strings.ReplaceAll(path, "/", string(os.PathSeparator))
if data, err := ioutil.ReadFile(path); err == nil {
return data
}
return nil
}
Go
1
https://gitee.com/aochulai/GoMiniblink.git
git@gitee.com:aochulai/GoMiniblink.git
aochulai
GoMiniblink
GoMiniblink
master

搜索帮助