Merge pull request #369 from williammmmmmmmm/master
Add a function LoadContentFromFS() to load xdb files from an embedded file system (embed.FS).
This commit is contained in:
commit
8952539b0f
|
|
@ -9,6 +9,7 @@
|
||||||
package xdb
|
package xdb
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"embed"
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
@ -180,3 +181,21 @@ func LoadContentFromFile(dbFile string) ([]byte, error) {
|
||||||
|
|
||||||
return cBuff, nil
|
return cBuff, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// LoadContentFromFS 提供了一个通用的方法来从 embed.FS 中加载文件内容
|
||||||
|
func LoadContentFromFS(fs embed.FS, filePath string) ([]byte, error) {
|
||||||
|
file, err := fs.Open(filePath)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("failed to open embedded file `%s`: %w", filePath, err)
|
||||||
|
}
|
||||||
|
defer file.Close()
|
||||||
|
|
||||||
|
// 读取文件内容到字节数组
|
||||||
|
var cBuff []byte
|
||||||
|
cBuff, err = io.ReadAll(file)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("failed to read embedded file `%s`: %w", filePath, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return cBuff, nil
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue