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)
{