浏览代码

:art: 移动端导入大于 32M 的 Data 包失败 https://github.com/siyuan-note/siyuan/issues/5067

Liang Ding 3 年之前
父节点
当前提交
6e24e483d6
共有 2 个文件被更改,包括 13 次插入0 次删除
  1. 8 0
      kernel/util/working.go
  2. 5 0
      kernel/util/working_mobile.go

+ 8 - 0
kernel/util/working.go

@@ -250,6 +250,14 @@ func initWorkspaceDir(workspaceArg string) {
 	ConfDir = filepath.Join(WorkspaceDir, "conf")
 	DataDir = filepath.Join(WorkspaceDir, "data")
 	TempDir = filepath.Join(WorkspaceDir, "temp")
+	osTmpDir := filepath.Join(TempDir, "os")
+	os.RemoveAll(osTmpDir)
+	if err := os.MkdirAll(osTmpDir, 0755); nil != err {
+		log.Fatalf("create os tmp dir [%s] failed: %s", osTmpDir, err)
+	}
+	os.Setenv("TMPDIR", osTmpDir)
+	os.Setenv("TEMP", osTmpDir)
+	os.Setenv("TMP", osTmpDir)
 	DBPath = filepath.Join(TempDir, DBName)
 	BlockTreePath = filepath.Join(TempDir, "blocktree.msgpack")
 }

+ 5 - 0
kernel/util/working_mobile.go

@@ -18,6 +18,7 @@ package util
 
 import (
 	"math/rand"
+	"os"
 	"path/filepath"
 	"time"
 
@@ -35,6 +36,10 @@ func BootMobile(container, appDir, workspaceDir, nativeLibDir, privateDataDir, l
 	ConfDir = filepath.Join(workspaceDir, "conf")
 	DataDir = filepath.Join(workspaceDir, "data")
 	TempDir = filepath.Join(workspaceDir, "temp")
+	osTmpDir := filepath.Join(TempDir, "os")
+	os.RemoveAll(osTmpDir)
+	os.MkdirAll(osTmpDir, 0755)
+	os.Setenv("TMPDIR", osTmpDir)
 	DBPath = filepath.Join(TempDir, DBName)
 	BlockTreePath = filepath.Join(TempDir, "blocktree.msgpack")
 	AndroidNativeLibDir = nativeLibDir