[ImageResizer]Sanitize target file name (#14040)

* [ImageResizer] Sanitize target file name

* Add a test

* Avoid not recommended file names
This commit is contained in:
Jaime Bernardo
2021-11-08 16:43:50 +00:00
committed by GitHub
parent 06882b4fbd
commit c2adab0716
2 changed files with 67 additions and 1 deletions

View File

@@ -486,6 +486,41 @@ namespace ImageResizer.Models
image => Assert.IsNull(((BitmapMetadata)image.Frames[0].Metadata).GetQuerySafe("System.Photo.Orientation")));
}
[TestMethod]
public void VerifyFileNameIsSanitized()
{
var operation = new ResizeOperation(
"Test.png",
_directory,
Settings(
s =>
{
s.FileName = @"Directory\%1:*?""<>|(%2)";
s.SelectedSize.Name = "Test\\/";
}));
operation.Execute();
Assert.IsTrue(File.Exists(_directory + @"\Directory\Test_______(Test__).png"));
}
[TestMethod]
public void VerifyNotRecommendedNameIsChanged()
{
var operation = new ResizeOperation(
"Test.png",
_directory,
Settings(
s =>
{
s.FileName = @"nul";
}));
operation.Execute();
Assert.IsTrue(File.Exists(_directory + @"\nul_.png"));
}
private static Settings Settings(Action<Settings> action = null)
{
var settings = new Settings()