From 0c8ca0ee5f2df94592a10a78c185527f25614a6b Mon Sep 17 00:00:00 2001 From: root <295172551@qq.com> Date: Thu, 26 Jun 2025 01:44:34 +0800 Subject: [PATCH] 111 --- LTEMvcApp/Controllers/MessageController.cs | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/LTEMvcApp/Controllers/MessageController.cs b/LTEMvcApp/Controllers/MessageController.cs index 7bb1e2e..a1cdb15 100644 --- a/LTEMvcApp/Controllers/MessageController.cs +++ b/LTEMvcApp/Controllers/MessageController.cs @@ -32,6 +32,18 @@ namespace LTEMvcApp.Controllers } } + /// + /// 工具方法:将address转换为合法文件名 + /// + private static string SanitizeFileName(string address) + { + foreach (var c in System.IO.Path.GetInvalidFileNameChars()) + { + address = address.Replace(c, '_'); + } + return address; + } + /// /// SSE推送客户端消息流 /// @@ -63,8 +75,10 @@ namespace LTEMvcApp.Controllers int lastReceivedCount = 0; var cancellationToken = HttpContext.RequestAborted; - var sentLogFilePath = Path.Combine(_logsDirectory, $"{address}_sent_messages.log"); - var receivedLogFilePath = Path.Combine(_logsDirectory, $"{address}_received_messages.log"); + // 使用安全文件名 + var safeAddress = SanitizeFileName(address); + var sentLogFilePath = Path.Combine(_logsDirectory, $"{safeAddress}_sent_messages.log"); + var receivedLogFilePath = Path.Combine(_logsDirectory, $"{safeAddress}_received_messages.log"); while (!cancellationToken.IsCancellationRequested) {