diff --git a/src/Microsoft.AspNetCore.Mvc.Core/ModelBinding/FormFileModelBinder.cs b/src/Microsoft.AspNetCore.Mvc.Core/ModelBinding/FormFileModelBinder.cs
index f70074a1b2..2d67487d24 100644
--- a/src/Microsoft.AspNetCore.Mvc.Core/ModelBinding/FormFileModelBinder.cs
+++ b/src/Microsoft.AspNetCore.Mvc.Core/ModelBinding/FormFileModelBinder.cs
@@ -102,19 +102,13 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
foreach (var file in form.Files)
{
- ContentDispositionHeaderValue parsedContentDisposition;
- ContentDispositionHeaderValue.TryParse(file.ContentDisposition, out parsedContentDisposition);
-
// If there is an in the form and is left blank.
- if (parsedContentDisposition == null ||
- (file.Length == 0 &&
- string.IsNullOrEmpty(HeaderUtilities.RemoveQuotes(parsedContentDisposition.FileName))))
+ if (file.Length == 0 && string.IsNullOrEmpty(file.FileName))
{
continue;
}
- var fileName = HeaderUtilities.RemoveQuotes(parsedContentDisposition.Name);
- if (fileName.Equals(modelName, StringComparison.OrdinalIgnoreCase))
+ if (file.Name.Equals(modelName, StringComparison.OrdinalIgnoreCase))
{
postedFiles.Add(file);
}
diff --git a/test/Microsoft.AspNetCore.Mvc.Core.Test/ModelBinding/FormFileModelBinderTest.cs b/test/Microsoft.AspNetCore.Mvc.Core.Test/ModelBinding/FormFileModelBinderTest.cs
index d384f7e7cd..db9f39857a 100644
--- a/test/Microsoft.AspNetCore.Mvc.Core.Test/ModelBinding/FormFileModelBinderTest.cs
+++ b/test/Microsoft.AspNetCore.Mvc.Core.Test/ModelBinding/FormFileModelBinderTest.cs
@@ -66,26 +66,6 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
Assert.Equal(2, files.Count);
}
- [Fact]
- public async Task FormFileModelBinder_FilesWithQuotedContentDisposition_BindSuccessful()
- {
- // Arrange
- var formFiles = new FormFileCollection();
- formFiles.Add(GetMockFormFileWithQuotedContentDisposition("file", "file1.txt"));
- formFiles.Add(GetMockFormFileWithQuotedContentDisposition("file", "file2.txt"));
- var httpContext = GetMockHttpContext(GetMockFormCollection(formFiles));
- var bindingContext = GetBindingContext(typeof(IEnumerable), httpContext);
- var binder = new FormFileModelBinder();
-
- // Act
- var result = await binder.BindModelResultAsync(bindingContext);
-
- // Assert
- Assert.NotEqual(default(ModelBindingResult), result);
- var files = Assert.IsAssignableFrom>(result.Model);
- Assert.Equal(2, files.Count);
- }
-
[Fact]
public async Task FormFileModelBinder_ExpectSingleFile_BindFirstFile()
{
@@ -103,8 +83,7 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
// Assert
Assert.NotEqual(default(ModelBindingResult), result);
var file = Assert.IsAssignableFrom(result.Model);
- Assert.Equal("form-data; name=file; filename=file1.txt",
- file.ContentDisposition);
+ Assert.Equal("file1.txt", file.FileName);
}
[Fact]
@@ -167,10 +146,8 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
Assert.NotEqual(default(ModelBindingResult), result);
Assert.True(result.IsModelSet);
var file = Assert.IsAssignableFrom(result.Model);
-
- ContentDispositionHeaderValue contentDisposition;
- ContentDispositionHeaderValue.TryParse(file.ContentDisposition, out contentDisposition);
- Assert.Equal(expected, contentDisposition.Name);
+
+ Assert.Equal(expected, file.Name);
}
[Fact]
@@ -251,16 +228,9 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
private static IFormFile GetMockFormFile(string modelName, string filename)
{
var formFile = new Mock();
- formFile.Setup(f => f.ContentDisposition)
- .Returns(string.Format("form-data; name={0}; filename={1}", modelName, filename));
- return formFile.Object;
- }
+ formFile.Setup(f => f.Name).Returns(modelName);
+ formFile.Setup(f => f.FileName).Returns(filename);
- private static IFormFile GetMockFormFileWithQuotedContentDisposition(string modelName, string filename)
- {
- var formFile = new Mock();
- formFile.Setup(f => f.ContentDisposition)
- .Returns(string.Format("form-data; name=\"{0}\"; filename=\"{1}\"", modelName, filename));
return formFile.Object;
}
}