diff --git a/kernel/model/assets.go b/kernel/model/assets.go index 66c0e177b..50213850a 100644 --- a/kernel/model/assets.go +++ b/kernel/model/assets.go @@ -176,7 +176,7 @@ func NetImg2LocalAssets(rootID string) (err error) { } } name = strings.TrimSuffix(name, ext) - name = gulu.Str.SubStr(name, 64) + name = gulu.Str.SubStr(name, 63) // 插入资源文件时文件名长度最大限制 189 字节 https://github.com/siyuan-note/siyuan/issues/7099 name = util.FilterFileName(name) name = "net-img-" + name + "-" + ast.NewNodeID() + ext writePath := filepath.Join(assetsDirPath, name) diff --git a/kernel/util/file.go b/kernel/util/file.go index f6ca0ae0b..61006a6c7 100644 --- a/kernel/util/file.go +++ b/kernel/util/file.go @@ -54,11 +54,11 @@ func AssetName(name string) string { _, id := LastID(name) ext := path.Ext(name) name = name[0 : len(name)-len(ext)] - if !IsIDPattern(id) { + if !ast.IsNodeIDPattern(id) { id = ast.NewNodeID() name = name + "-" + id + ext } else { - if !IsIDPattern(name) { + if !ast.IsNodeIDPattern(name) { name = name[:len(name)-len(id)-1] + "-" + id + ext } else { name = name + ext @@ -141,6 +141,8 @@ func FilterUploadFileName(name string) string { ret = strings.ReplaceAll(ret, "#", "") ret = strings.ReplaceAll(ret, "%", "") ret = strings.ReplaceAll(ret, "$", "") + // 插入资源文件时文件名长度最大限制 189 字节 https://github.com/siyuan-note/siyuan/issues/7099 + ret = gulu.Str.SubStr(ret, 63) return ret }