50 lines
1.7 KiB
C#
50 lines
1.7 KiB
C#
using System;
|
|
using System.Linq;
|
|
using Microsoft.AspNetCore.Mvc.Filters;
|
|
using Microsoft.AspNetCore.Mvc.ModelBinding;
|
|
|
|
namespace AyaNova.Api.ControllerHelpers
|
|
{
|
|
|
|
//FROM DOCS HERE:
|
|
//https://docs.microsoft.com/en-us/aspnet/core/mvc/models/file-uploads#uploading-large-files-with-streaming
|
|
//https://github.com/aspnet/Docs/tree/74a44669d5e7039e2d4d2cb3f8b0c4ed742d1124/aspnetcore/mvc/models/file-uploads/sample/FileUploadSample
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
|
|
public class DisableFormValueModelBindingAttribute : Attribute, IResourceFilter
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="context"></param>
|
|
public void OnResourceExecuting(ResourceExecutingContext context)
|
|
{
|
|
var formValueProviderFactory = context.ValueProviderFactories
|
|
.OfType<FormValueProviderFactory>()
|
|
.FirstOrDefault();
|
|
if (formValueProviderFactory != null)
|
|
{
|
|
context.ValueProviderFactories.Remove(formValueProviderFactory);
|
|
}
|
|
|
|
var jqueryFormValueProviderFactory = context.ValueProviderFactories
|
|
.OfType<JQueryFormValueProviderFactory>()
|
|
.FirstOrDefault();
|
|
if (jqueryFormValueProviderFactory != null)
|
|
{
|
|
context.ValueProviderFactories.Remove(jqueryFormValueProviderFactory);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="context"></param>
|
|
public void OnResourceExecuted(ResourceExecutedContext context)
|
|
{
|
|
}
|
|
}
|
|
|
|
} |