diff --git a/Ink Canvas/Helpers/DlassNoteUploader.cs b/Ink Canvas/Helpers/DlassNoteUploader.cs index ed08fece..30da0f51 100644 --- a/Ink Canvas/Helpers/DlassNoteUploader.cs +++ b/Ink Canvas/Helpers/DlassNoteUploader.cs @@ -76,6 +76,16 @@ namespace Ink_Canvas.Helpers public List Whiteboards { get; set; } } + /// + /// 异步上传笔记文件到Dlass(支持PNG和ICSTK格式) + /// + /// 文件路径(支持PNG和ICSTK) + /// 是否上传成功 + public static async Task UploadNoteFileAsync(string filePath) + { + return await UploadPngNoteAsync(filePath); + } + /// /// 异步上传PNG文件到Dlass /// @@ -98,6 +108,14 @@ namespace Ink_Canvas.Helpers return false; } + // 检查文件扩展名 + var fileExtension = Path.GetExtension(pngFilePath).ToLower(); + if (fileExtension != ".png" && fileExtension != ".icstk") + { + LogHelper.WriteLogToFile($"上传失败:不支持的文件格式 - {fileExtension},仅支持PNG和ICSTK", LogHelper.LogType.Error); + return false; + } + // 检查文件大小(最大10MB) var fileInfo = new FileInfo(pngFilePath); if (fileInfo.Length > 10 * 1024 * 1024) @@ -160,8 +178,9 @@ namespace Ink_Canvas.Helpers // 准备上传参数 var fileName = Path.GetFileNameWithoutExtension(pngFilePath); var title = fileName; - var description = $"自动上传的笔记 - {DateTime.Now:yyyy-MM-dd HH:mm:ss}"; - var tags = "自动上传,笔记"; + var fileType = fileExtension == ".icstk" ? "墨迹文件" : "笔记"; + var description = $"自动上传的{fileType} - {DateTime.Now:yyyy-MM-dd HH:mm:ss}"; + var tags = fileExtension == ".icstk" ? "自动上传,墨迹,icstk" : "自动上传,笔记,png"; // 上传文件 var uploadResult = await apiClient.UploadNoteAsync( diff --git a/Ink Canvas/MainWindow_cs/MW_Save&OpenStrokes.cs b/Ink Canvas/MainWindow_cs/MW_Save&OpenStrokes.cs index bcbc487c..0e3b6f12 100644 --- a/Ink Canvas/MainWindow_cs/MW_Save&OpenStrokes.cs +++ b/Ink Canvas/MainWindow_cs/MW_Save&OpenStrokes.cs @@ -133,6 +133,23 @@ namespace Ink_Canvas var fs = new FileStream(savePathWithName, FileMode.Create); inkCanvas.Strokes.Save(fs); fs.Close(); + _ = Task.Run(async () => + { + try + { + var delayMinutes = Settings?.Dlass?.AutoUploadDelayMinutes ?? 0; + if (delayMinutes > 0) + { + await Task.Delay(TimeSpan.FromMinutes(delayMinutes)); + } + + await Helpers.DlassNoteUploader.UploadNoteFileAsync(savePathWithName); + } + catch (Exception) + { + } + }); + // 保存元素信息 var elementInfos = new List(); foreach (var child in inkCanvas.Children) @@ -322,7 +339,7 @@ namespace Ink_Canvas await Task.Delay(TimeSpan.FromMinutes(delayMinutes)); } - await Helpers.DlassNoteUploader.UploadPngNoteAsync(imagePathWithName); + await Helpers.DlassNoteUploader.UploadNoteFileAsync(imagePathWithName); } catch (Exception) { diff --git a/Ink Canvas/MainWindow_cs/MW_Screenshot.cs b/Ink Canvas/MainWindow_cs/MW_Screenshot.cs index 844c0982..18ef9fec 100644 --- a/Ink Canvas/MainWindow_cs/MW_Screenshot.cs +++ b/Ink Canvas/MainWindow_cs/MW_Screenshot.cs @@ -76,14 +76,7 @@ namespace Ink_Canvas await Task.Delay(TimeSpan.FromMinutes(delayMinutes)); } - var uploaded = await Helpers.DlassNoteUploader.UploadPngNoteAsync(savePath); - if (uploaded && !isHideNotification) - { - Dispatcher.Invoke(() => - { - ShowNotification($"笔记已自动上传到Dlass"); - }); - } + await Helpers.DlassNoteUploader.UploadNoteFileAsync(savePath); } catch (Exception) { diff --git a/Ink Canvas/Windows/DlassSettingsWindow.xaml b/Ink Canvas/Windows/DlassSettingsWindow.xaml index fe993dd6..9591776b 100644 --- a/Ink Canvas/Windows/DlassSettingsWindow.xaml +++ b/Ink Canvas/Windows/DlassSettingsWindow.xaml @@ -341,13 +341,13 @@ -