Dropzone JS Загрузить 200 + МБ Файл становится пустым - PullRequest
0 голосов
/ 18 июня 2020

Я использую dropzone js с MVC Core 3.1 и Kestrel и пытаюсь загрузить файл размером 200+ МБ, но отправленный файл всегда нулевой

Вот моя конфигурация dropzone

var myDropzone = new Dropzone(document.body, {
   url: '@Url.Action("HandleUpload", "Files", new { Id= "Test0001" })',
   paramName: "file",
   parallelUploads: 1,
   maxFilesize: 512,
   timeout: 1800000,
   thumbnailWidth: 80,
   thumbnailHeight: 80,
   previewTemplate: previewTemplate,
   acceptedFiles: 'image/jpeg,image/x-citrix-jpeg,image/png,image/x-citrix-png,image/x-png,video/mp4,video/quicktime,video/x-ms-wmv,video/x-flv',
   autoQueue: false, 
   previewsContainer: "#previews", 
   clickable: ".fileinput-button",
   dictRemoveFileConfirmation: "Are you sure to remove this file ?"
});

это мой контроллер

[HttpPost]
public async Task<ActionResult> HandleUpload(IFormFile file, string id)
{
  //file and id is null with 237MB file
   var jwt = new JwtSecurityToken("AccessToken");
   var sub = jwt.Subject;
}

и Program.cs

 public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .UseWindowsService()
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.ConfigureKestrel(kestrelOptions =>
                    {
                        kestrelOptions.Limits.MaxRequestBodySize = 545259520; //520 MB
                        kestrelOptions.Limits.RequestHeadersTimeout = TimeSpan.FromMinutes(10);
                        kestrelOptions.Limits.KeepAliveTimeout = TimeSpan.FromMinutes(10);
                        kestrelOptions.Limits.MaxConcurrentConnections = 1000;
                        kestrelOptions.Listen(ipAddress, 443, listenOptions =>
                        {
                                listenOptions.UseHttps();
                        });
                    });
                    webBuilder.UseStartup<Startup>();
                });

, когда я загружаю файл .mp4 размером менее 5 МБ, он работает нормально, но .mp4 с 237 МБ мои «файл» и «id» в контроллере равны нулю, и ошибок не было.

Как решить эту проблему?

1 Ответ

0 голосов
/ 19 июня 2020

Потратив много времени, я пришел к выводу, что мне нужно реализовать разбиение на части.

...