Для привязки к MyIFormFile.ResolutionAttachedFile
необходимо пройти с MyIFormFile.ResolutionAttachedFile
.
Сделайте тест с ajax ниже:
<div>
<input type="file" multiple name="ResolutionAttachedFile" />
</div>
@section Scripts{
<script type="text/javascript">
$("input[name='ResolutionAttachedFile']")
.change(function () {
var data = new FormData();
$("input[name='ResolutionAttachedFile']").each(function () {
var ReadyToUpload = $(this)[0].files;
if (ReadyToUpload.length > 0) {
$.each(ReadyToUpload, function (i, file) {
data.append("MyIFormFile.ResolutionAttachedFile", file);
});
}
});
jQuery.ajax({
url: '/DocumentPage',
data: data,
cache: false,
contentType: false,
processData: false,
type: 'POST',
success: function (data) {
alert(data);
}
});
});
</script>
}
Примечание
Как показал мой тест, он потерпит неудачу, когда проект находится под netcoreapp2.1
, он не сможет выполнить привязку, если в testArea
нет дополнительных свойств. Это работает только тогда, когда есть дополнительные свойства, такие как Name
и установить значение имени из ajax
Для решения этой проблемы вы можете перенести свой проект в netcoreapp2.2
.
Вот мой рабочий .csproj
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<UserSecretsId>aspnet-IdentityCore-85ED30A8-40E9-4BD5-A9D2-EAF6BCF0D5F1</UserSecretsId>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0-preview3-35497" PrivateAssets="All" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.5" PrivateAssets="All" />
</ItemGroup>
</Project>