diff --git a/kernel/model/assets.go b/kernel/model/assets.go index 8692571c7..d24ee6d0d 100644 --- a/kernel/model/assets.go +++ b/kernel/model/assets.go @@ -103,6 +103,14 @@ func NetImg2LocalAssets(rootID, originalURL string) (err error) { } if ast.NodeImage == n.Type { linkDest := n.ChildByType(ast.NodeLinkDest) + linkText := n.ChildByType(ast.NodeLinkText) + if nil == linkText { + linkText = &ast.Node{Type: ast.NodeLinkText, Tokens: []byte("image")} + if openBracket := n.ChildByType(ast.NodeOpenBracket); nil != openBracket { + openBracket.InsertAfter(linkText) + } + } + dest := linkDest.Tokens if util.IsAssetLinkDest(dest) { return ast.WalkSkipChildren @@ -122,8 +130,9 @@ func NetImg2LocalAssets(rootID, originalURL string) (err error) { } name := filepath.Base(u) - name = util.FilterFileName(name) + name = util.FilterUploadFileName(name) name = util.TruncateLenFileName(name) + linkText.Tokens = []byte(name) name = "net-img-" + name name = util.AssetName(name) writePath := filepath.Join(assetsDirPath, name) @@ -198,8 +207,9 @@ func NetImg2LocalAssets(rootID, originalURL string) (err error) { } } name = strings.TrimSuffix(name, ext) - name = util.FilterFileName(name) + name = util.FilterUploadFileName(name) name = util.TruncateLenFileName(name) + linkText.Tokens = []byte(name) name = "net-img-" + name + "-" + ast.NewNodeID() + ext writePath := filepath.Join(assetsDirPath, name) if err = filelock.WriteFile(writePath, data); nil != err { @@ -285,7 +295,7 @@ func NetAssets2LocalAssets(rootID string) (err error) { } name := filepath.Base(u) - name = util.FilterFileName(name) + name = util.FilterUploadFileName(name) name = util.TruncateLenFileName(name) name = "network-asset-" + name name = util.AssetName(name) @@ -375,7 +385,7 @@ func NetAssets2LocalAssets(rootID string) (err error) { } } name = strings.TrimSuffix(name, ext) - name = util.FilterFileName(name) + name = util.FilterUploadFileName(name) name = util.TruncateLenFileName(name) name = "network-asset-" + name + "-" + ast.NewNodeID() + ext writePath := filepath.Join(assetsDirPath, name) diff --git a/kernel/model/import.go b/kernel/model/import.go index a05ae33c1..48a91e104 100644 --- a/kernel/model/import.go +++ b/kernel/model/import.go @@ -951,7 +951,7 @@ func processBase64Img(n *ast.Node, dest string, assetDirPath string, err error) if nil != alt { name = alt.TokensStr() + ext } - name = util.FilterFileName(name) + name = util.FilterUploadFileName(name) name = util.AssetName(name) tmp := filepath.Join(base64TmpDir, name)