Fix output path detection to correctly identify directories and files (#1556)

This commit is contained in:
Jacob Pfundstein 2026-06-20 12:55:49 +02:00 committed by GitHub
parent 5a57c4202d
commit 97485c280b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -206,10 +206,15 @@ public partial class ExportRequest
{
var actualOutputPath = FormatPath(outputPath, guild, channel, after, before);
// Output is a directory
// Determine whether the output path refers to a directory or a file.
// The extension-based heuristic is evaluated on the original, unsubstituted path,
// because the value of a template token (e.g. a guild or channel name) may contain
// a period that would otherwise be mistaken for a file extension, incorrectly causing
// a directory path to be treated as a file.
// https://github.com/Tyrrrz/DiscordChatExporter/issues/1502
if (
Directory.Exists(actualOutputPath)
|| string.IsNullOrWhiteSpace(Path.GetExtension(actualOutputPath))
|| string.IsNullOrWhiteSpace(Path.GetExtension(outputPath))
)
{
var fileName = GetDefaultOutputFileName(guild, channel, format, after, before);