🎨 网络图片转换为本地图片 遵循笔记本级资源文件设置 Fix https://github.com/siyuan-note/siyuan/issues/6407

This commit is contained in:
Liang Ding 2022-10-31 00:04:48 +08:00
parent bc8e26937f
commit c2188b8c19
No known key found for this signature in database
GPG key ID: 136F30F901A2231D

View file

@ -76,6 +76,15 @@ func NetImg2LocalAssets(rootID string) (err error) {
var files int var files int
msgId := gulu.Rand.String(7) msgId := gulu.Rand.String(7)
docDirLocalPath := filepath.Join(util.DataDir, tree.Box, path.Dir(tree.Path))
assetsDirPath := getAssetsDir(filepath.Join(util.DataDir, tree.Box), docDirLocalPath)
if !gulu.File.IsExist(assetsDirPath) {
if err = os.MkdirAll(assetsDirPath, 0755); nil != err {
return
}
}
ast.Walk(tree.Root, func(n *ast.Node, entering bool) ast.WalkStatus { ast.Walk(tree.Root, func(n *ast.Node, entering bool) ast.WalkStatus {
if !entering { if !entering {
return ast.WalkContinue return ast.WalkContinue
@ -140,7 +149,7 @@ func NetImg2LocalAssets(rootID string) (err error) {
name = gulu.Str.SubStr(name, 64) name = gulu.Str.SubStr(name, 64)
name = util.FilterFileName(name) name = util.FilterFileName(name)
name = "net-img-" + name + "-" + ast.NewNodeID() + ext name = "net-img-" + name + "-" + ast.NewNodeID() + ext
writePath := filepath.Join(util.DataDir, "assets", name) writePath := filepath.Join(assetsDirPath, name)
if err = filelock.WriteFile(writePath, data); nil != err { if err = filelock.WriteFile(writePath, data); nil != err {
logging.LogErrorf("write downloaded net img [%s] to local assets [%s] failed: %s", u, writePath, err) logging.LogErrorf("write downloaded net img [%s] to local assets [%s] failed: %s", u, writePath, err)
return ast.WalkSkipChildren return ast.WalkSkipChildren