mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-16 22:50:13 +01:00
Signed-off-by: Daniel <845765@qq.com>
This commit is contained in:
parent
1acbb7d06d
commit
ea925aff32
1 changed files with 27 additions and 4 deletions
|
|
@ -84,14 +84,26 @@ func InsertLocalAssets(id string, assetAbsPaths []string, isUpload bool) (succMa
|
|||
err = openErr
|
||||
return
|
||||
}
|
||||
|
||||
hash, hashErr := util.GetEtagByHandle(f, fi.Size())
|
||||
if nil != hashErr {
|
||||
f.Close()
|
||||
return
|
||||
}
|
||||
|
||||
if existAssetPath := GetAssetPathByHash(hash); "" != existAssetPath {
|
||||
// 已经存在同样数据的资源文件的话不重复保存
|
||||
if 1 > fi.Size() {
|
||||
hash = "random_1_" + gulu.Rand.String(12)
|
||||
}
|
||||
|
||||
existAssetPath := GetAssetPathByHash(hash)
|
||||
if "" != existAssetPath {
|
||||
originalName := util.RemoveID(filepath.Base(existAssetPath))
|
||||
if fName != originalName {
|
||||
hash = "random_2_" + gulu.Rand.String(12)
|
||||
}
|
||||
}
|
||||
|
||||
if "" != existAssetPath && !strings.HasPrefix(hash, "random_") {
|
||||
succMap[baseName] = existAssetPath
|
||||
} else {
|
||||
fName = util.AssetName(fName, ast.NewNodeID())
|
||||
|
|
@ -200,8 +212,19 @@ func Upload(c *gin.Context) {
|
|||
break
|
||||
}
|
||||
|
||||
if existAssetPath := GetAssetPathByHash(hash); "" != existAssetPath {
|
||||
// 已经存在同样数据的资源文件的话不重复保存
|
||||
if 1 > file.Size {
|
||||
hash = "empty_" + gulu.Rand.String(12)
|
||||
}
|
||||
|
||||
existAssetPath := GetAssetPathByHash(hash)
|
||||
if "" != existAssetPath {
|
||||
originalName := util.RemoveID(filepath.Base(existAssetPath))
|
||||
if fName != originalName {
|
||||
hash = "random_2_" + gulu.Rand.String(12)
|
||||
}
|
||||
}
|
||||
|
||||
if "" != existAssetPath && !strings.HasPrefix(hash, "random_") {
|
||||
succMap[baseName] = existAssetPath
|
||||
} else {
|
||||
if skipIfDuplicated {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue