From 58a29ec5704a72f342b242efc79d1f0b16da2c64 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Wed, 4 Jan 2023 14:07:19 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E5=88=86=E4=BA=AB=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E5=88=B0=E9=93=BE=E6=BB=B4=20https://github.com/siyua?= =?UTF-8?q?n-note/siyuan/issues/2004?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/model/assets.go | 56 ++++++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 27 deletions(-) diff --git a/kernel/model/assets.go b/kernel/model/assets.go index 78914d245..c483503fb 100644 --- a/kernel/model/assets.go +++ b/kernel/model/assets.go @@ -292,37 +292,39 @@ const ( // uploadAssets2Cloud 将资源文件上传到云端图床。 func uploadAssets2Cloud(sqlAssets []*sql.Asset, bizType string) (err error) { - syncedAssets := readWorkspaceAssets() - var unSyncAssets []string - for _, sqlAsset := range sqlAssets { - if !gulu.Str.Contains(sqlAsset.Path, syncedAssets) && strings.Contains(sqlAsset.Path, "assets/") { - unSyncAssets = append(unSyncAssets, sqlAsset.Path) - } - } - - if 1 > len(unSyncAssets) { - return - } - var uploadAbsAssets []string - for _, asset := range unSyncAssets { - var absPath string - absPath, err = GetAssetAbsPath(asset) - if nil != err { - logging.LogWarnf("get asset [%s] abs path failed: %s", asset, err) - return + if bizTypeUploadAssets == bizType { // 只有上传资源文件到图床时才需要判断是否已经上传过 + syncedAssets := readWorkspaceAssets() + var unSyncAssets []string + for _, sqlAsset := range sqlAssets { + if !gulu.Str.Contains(sqlAsset.Path, syncedAssets) && strings.Contains(sqlAsset.Path, "assets/") { + unSyncAssets = append(unSyncAssets, sqlAsset.Path) + } } - if "" == absPath { - logging.LogErrorf("not found asset [%s]", asset) - err = errors.New(fmt.Sprintf(Conf.Language(12), asset)) + + if 1 > len(unSyncAssets) { return } - uploadAbsAssets = append(uploadAbsAssets, absPath) - } + for _, asset := range unSyncAssets { + var absPath string + absPath, err = GetAssetAbsPath(asset) + if nil != err { + logging.LogWarnf("get asset [%s] abs path failed: %s", asset, err) + return + } + if "" == absPath { + logging.LogErrorf("not found asset [%s]", asset) + err = errors.New(fmt.Sprintf(Conf.Language(12), asset)) + return + } - if 1 > len(uploadAbsAssets) { - return + uploadAbsAssets = append(uploadAbsAssets, absPath) + } + + if 1 > len(uploadAbsAssets) { + return + } } uploadAbsAssets = gulu.Str.RemoveDuplicatedElem(uploadAbsAssets) @@ -399,8 +401,8 @@ func uploadAssets2Cloud(sqlAssets []*sql.Asset, bizType string) (err error) { } util.PushClearMsg(msgId) - if 0 < len(completedUploadAssets) { - syncedAssets = readWorkspaceAssets() + if bizTypeUploadAssets == bizType && 0 < len(completedUploadAssets) { + syncedAssets := readWorkspaceAssets() logging.LogInfof("uploaded [%d] assets", len(completedUploadAssets)) for _, completedSyncAsset := range completedUploadAssets { syncedAssets = append(syncedAssets, completedSyncAsset)