以下常用方法列表,文档更新可能滞后于代码新特性,更多的方法及示例请参考代码文档:https://pkg.GO.dev/github.com/gogf/gf/v2/os/gres
Add
将content
解压并添加到默认资源对象。prefix
是非必要参数,表示存储到当前资源对象中的每个文件的前缀。 func Add(content string, prefix ...string) error
package main
import "github.com/gogf/gf/v2/os/gres"
func main() {
//content内容过长已省略
if err := gres.Add("......"); err != nil {
panic("add binary content to resource manager failed: " + err.Error())
}
}
Load
加载、解压并将路径为path
的文件数据读取到默认资源对象中。prefix
是非必要参数,表示存储到当前资源对象中的每个文件的前缀。 func Load(path string, prefix ...string) error
package main
import "github.com/gogf/gf/v2/os/gres"
func main() {
if err := gres.Load("../res/myfile"); err != nil {
panic("load binary content to resource manager failed: " + err.Error())
}
}
Get
返回指定路径的文件。 func Get(path string) *File
package main
import (
"fmt"
"github.com/gogf/gf/v2/os/gctx"
"github.com/gogf/gf/v2/os/glog"
"github.com/gogf/gf/v2/os/gres"
)
func main() {
file := gres.Get("../res/myfile")
if file == nil {
glog.Error(gctx.New(), "get file failed!")
return
}
fmt.Println("Get File Name:", file.Name())
}
GetWithIndex
用给定路径path
搜索文件,如果文件是目录,那么它会在这个目录下进行索引文件搜索。 GetWithIndex
通常用于http
静态文件服务。 func GetWithIndex(path string, indexFiles []string) *File
package main
import (
"fmt"
"github.com/gogf/gf/v2/os/gctx"
"github.com/gogf/gf/v2/os/glog"
"github.com/gogf/gf/v2/os/gres"
)
func main() {
file := gres.GetWithIndex("../res", []string{"myfile", "myconfig"})
if file == nil {
glog.Error(gctx.New(), "get file failed!")
return
}
fmt.Println("Get File Name:", file.Name())
}
GetContent
在默认资源对象中直接返回路径为path
的内容。 func GetContent(path string) []byte
package main
import (
"fmt"
"github.com/gogf/gf/v2/os/gres"
)
func main() {
fileContent := gres.GetContent("../res/myfile")
fmt.Println("Get File Content:", fileContent)
}
Contains
检查路径为path
的资源是否存在于默认资源对象中。 func Contains(path string) bool
package main
import (
"fmt"
"github.com/gogf/gf/v2/os/gres"
)
func main() {
if gres.Contains("../res/myfile") {
fmt.Println("myfile is exist!")
} else{
fmt.Println("myfile is not exist!")
}
}
IsEmpty
检查并返回资源管理器是否为空。 func IsEmpty() bool
package main
import (
"fmt"
"github.com/gogf/gf/v2/os/gres"
)
func main() {
fmt.Println(gres.IsEmpty())
gres.Add("xxxxxxxxxxxxxxxxx")
fmt.Println(gres.IsEmpty())
// Output:
// true
// false
}
ScanDir
返回给定路径下的文件,参数path
应该是文件夹类型。参数pattern
支持多个文件名模式,使用,
符号分隔多个模式。如果参数recursive
为true
,它会递归地扫描目录。 func ScanDir(path string, pattern string, recursive ...bool) []*File
package main
import (
"fmt"
"github.com/gogf/gf/v2/os/gres"
)
func main() {
files := gres.ScanDir("../res", "*.doc,*.go", true)
if len(files) > 0 {
for _, file := range files {
fmt.Println("ScanDir Result:", file.Name())
}
}
}
ScanDirFile
返回所有具有给定path
的绝对路径的子文件,如果参数recursive
为true
,则会递归扫描目录。 func ScanDirFile(path string, pattern string, recursive ...bool) []*File
package main
import (
"fmt"
"github.com/gogf/gf/v2/os/gres"
)
func main() {
files := gres.ScanDirFile("../res", "*.*", true)
if len(files) > 0 {
for _, file := range files {
fmt.Println("ScanDirFile Result:", file.Name())
}
}
}
Export
将指定路径src
及其所有子文件递归保存到指定的系统路径dst
。 func Export(src, dst string, option ...ExportOption) error
package main
import (
"fmt"
"github.com/gogf/gf/v2/os/gres"
)
func main() {
err := gres.Export("../res/src", "../res/dst")
if err != nil {
fmt.Println("gres.Export Error:", err)
}
}
Dump
打印默认资源对象的文件。 func Dump()
package main
import (
"github.com/gogf/gf/v2/os/gres"
)
func main() {
gres.Add("xxxxxxxxx")
gres.Dump()
}
分享标题:创新互联GoFrame教程:GoFrame资源管理-方法介绍
链接分享:http://www.mswzjz.cn/qtweb/news34/376634.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能