Fixes U4-483 - Replace illegal characters in media with a dash, not underscore

Also removing multiple repeating dashes, leaving only one in place.
This commit is contained in:
Sebastiaan Janssen
2012-12-13 09:26:34 -01:00
parent 21ead72d48
commit e2eee711d8

View File

@@ -222,7 +222,7 @@ namespace Umbraco.Core.IO
{
foreach (var character in Path.GetInvalidFileNameChars())
{
filePath = filePath.Replace(character, '_');
filePath = filePath.Replace(character, '-');
}
}
else
@@ -242,10 +242,14 @@ namespace Umbraco.Core.IO
if (reservedCharacters.IndexOf(character) == -1)
stringBuilder.Append(character);
else
stringBuilder.Append("_");
stringBuilder.Append("-");
}
return stringBuilder.ToString();
// Remove repeating dashes
// From: http://stackoverflow.com/questions/5111967/regex-to-remove-a-specific-repeated-character
var reducedString = Regex.Replace(stringBuilder.ToString(), "-+", "-");
return reducedString;
}
}
}