mirror of
https://github.com/Tyrrrz/DiscordChatExporter.git
synced 2026-02-14 07:43:31 -07:00
Improve absolute path detection for cross-platform compatibility
Co-authored-by: Tyrrrz <1935960+Tyrrrz@users.noreply.github.com>
This commit is contained in:
parent
63b71d9945
commit
aa5c338086
|
|
@ -11,8 +11,13 @@ public static class Url
|
|||
var buffer = new StringBuilder();
|
||||
var position = 0;
|
||||
|
||||
// Check if the path is absolute
|
||||
var isAbsolute = Path.IsPathRooted(filePath);
|
||||
// Check if the path is absolute (either Unix-style or Windows-style)
|
||||
// Unix: starts with /
|
||||
// Windows: starts with drive letter followed by colon (e.g., C:)
|
||||
var isUnixAbsolute = filePath.StartsWith('/') || filePath.StartsWith('\\');
|
||||
var isWindowsAbsolute =
|
||||
filePath.Length >= 2 && char.IsLetter(filePath[0]) && filePath[1] == ':';
|
||||
var isAbsolute = isUnixAbsolute || isWindowsAbsolute;
|
||||
|
||||
// For absolute paths, prepend file:// protocol for proper browser handling
|
||||
if (isAbsolute)
|
||||
|
|
@ -21,7 +26,7 @@ public static class Url
|
|||
|
||||
// On Windows, we need to add an extra slash before the drive letter
|
||||
// e.g., file:///C:/path instead of file://C:/path
|
||||
if (!filePath.StartsWith('/') && !filePath.StartsWith('\\'))
|
||||
if (isWindowsAbsolute)
|
||||
{
|
||||
buffer.Append('/');
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue