From 04ba3ed0118d31ac6d7f45b8c55058abf5608bf5 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Wed, 1 May 2024 16:38:49 +0800 Subject: [PATCH] :art: Support convert Base64 image when clipping HTML https://github.com/siyuan-note/siyuan/issues/11210 --- kernel/api/extension.go | 2 +- kernel/model/import.go | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/kernel/api/extension.go b/kernel/api/extension.go index 8dd8aea49..d8aa3e63f 100644 --- a/kernel/api/extension.go +++ b/kernel/api/extension.go @@ -122,7 +122,7 @@ func extensionCopy(c *gin.Context) { } luteEngine := util.NewStdLute() - md := luteEngine.HTML2Md(dom) + md, _ := model.HTML2Markdown(dom) md = strings.TrimSpace(md) var unlinks []*ast.Node diff --git a/kernel/model/import.go b/kernel/model/import.go index ffa6e9008..150912a9b 100644 --- a/kernel/model/import.go +++ b/kernel/model/import.go @@ -33,6 +33,7 @@ import ( "os" "path" "path/filepath" + "regexp" "runtime/debug" "sort" "strconv" @@ -927,8 +928,11 @@ func processBase64Img(n *ast.Node, dest string, assetDirPath string, err error) os.MkdirAll(base64TmpDir, 0755) sep := strings.Index(dest, ";base64,") + str := strings.TrimSpace(dest[sep+8:]) + re := regexp.MustCompile(`(?i)%0A`) + str = re.ReplaceAllString(str, "\n") var decodeErr error - unbased, decodeErr := base64.StdEncoding.DecodeString(dest[sep+8:]) + unbased, decodeErr := base64.StdEncoding.DecodeString(str) if nil != decodeErr { logging.LogErrorf("decode base64 image failed: %s", decodeErr) return