diff --git a/Helpers/SimApiStorage.cs b/Helpers/SimApiStorage.cs index 8c2a68c..5114afb 100644 --- a/Helpers/SimApiStorage.cs +++ b/Helpers/SimApiStorage.cs @@ -127,6 +127,27 @@ public class SimApiStorage return path.StartsWith('~') ? string.Concat(url, path.AsSpan(1, path.Length - 1)) : $"{ServeUrl}{path}"; } + /// + /// 获取一个Path得访问URL + /// + /// + /// + public string? GetUrl(string? path) + { + if (string.IsNullOrEmpty(path)) return path; + if (path.StartsWith("~/")) + { + var httpRequest = HttpContextAccessor.HttpContext?.Request; + var url = $"{httpRequest?.Scheme}://{httpRequest?.Host}"; + return string.Concat(url, path.AsSpan(1, path.Length - 1)); + } + if (path.StartsWith('/')) + { + return $"{ServeUrl}{path}"; + } + return path; + } + /// /// 从URL中获取相对路径 (如果url不是当前服务器的url,则原样返回) ///