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