diff --git a/package.json b/package.json index 0d62dac6b..ebf982ade 100644 --- a/package.json +++ b/package.json @@ -90,7 +90,7 @@ "worker-loader": "^3.0.7" }, "dependencies": { - "@blueprintjs/core": "^3.31.0", + "@blueprintjs/core": "^3.36.0", "@types/react-virtualized-auto-sizer": "^1.0.0", "@types/react-window": "^1.8.2", "detect-browser": "^5.1.1", diff --git a/src/Add-on/Save.ts b/src/Add-on/Save.ts index 38b1769bb..a7d39c85b 100644 --- a/src/Add-on/Save.ts +++ b/src/Add-on/Save.ts @@ -112,13 +112,14 @@ export class Save implements Command let file = JSON.stringify(fileData); + let rawFile = file; file = deflate(file); let logo = await uploadLogo(GetCurrentViewPreViewImage()); if (!logo) return; if (fileServer.m_CurFileId) { - let data = await fileServer.UpdateFile({ file_id: fileServer.m_CurFileId, file, logo }); + let data = await fileServer.UpdateFile({ file_id: fileServer.m_CurFileId, file, logo }, rawFile); if (data.err_code !== RequestStatus.Ok || !data.files) { @@ -128,7 +129,7 @@ export class Save implements Command } else { - let data = await fileServer.UploadFile({ file, logo }); + let data = await fileServer.UploadFile({ file, logo }, rawFile); if (data.err_code === RequestStatus.Ok) { fileServer.m_CurFileId = data.files.file_id; @@ -191,7 +192,7 @@ export class SaveAs implements Command { let fileData = app.FileOut().Data; let file = JSON.stringify(fileData); - + let rawFile = file; file = deflate(file); let logo = await uploadLogo(GetCurrentViewPreViewImage()); if (!logo) return; @@ -201,7 +202,7 @@ export class SaveAs implements Command logo, dir_id: res.Data.currentDirId, name: res.Data.name - }); + }, rawFile); if (data.err_code === RequestStatus.Ok) { fileServer.m_CurFileId = data.files.file_id; diff --git a/src/DatabaseServices/FileServer.ts b/src/DatabaseServices/FileServer.ts index 5663713dd..fab01d4d8 100644 --- a/src/DatabaseServices/FileServer.ts +++ b/src/DatabaseServices/FileServer.ts @@ -205,7 +205,7 @@ export class FileServer extends Singleton await dbStore.Put(StoreName.Dwg, GetIndexDBID(fid), Object.assign(fileInfo, info)); } - async UploadFile(fileInfo: IFileInfo) + async UploadFile(fileInfo: IFileInfo, rawFile?: string) { let info: IFileInfo = { name: this.currentFileInfo.name || "新文件", @@ -220,7 +220,7 @@ export class FileServer extends Singleton if (data.err_code === RequestStatus.Ok) { let finfo: IFileInfo = { - file: inflate(info.file), + file: rawFile ?? inflate(info.file), name: info.name, code: data.files.code }; @@ -229,7 +229,7 @@ export class FileServer extends Singleton return data; } - async UpdateFile(fileInfo: IFileInfo) + async UpdateFile(fileInfo: IFileInfo, rawFile?: string) { this.SaveCurrentFileInfo(fileInfo); let data = await PostJson(FileUrls.update, fileInfo); @@ -240,7 +240,7 @@ export class FileServer extends Singleton code: data.files.code }; if (fileInfo.file) - finfo.file = inflate(fileInfo.file); + finfo.file = rawFile ?? inflate(fileInfo.file); await this.CacheFileInfo(data.files.file_id, finfo); }