【问题标题】:DropzoneJS Upload 200+MB File gets nullDropzoneJS 上传 200+MB 文件为空
【发布时间】:2020-06-18 12:49:56
【问题描述】:

我正在使用带有 MVC Core 3.1 和 Kestrel 的 dropzonejs,并尝试上传 200+ MB 的文件,但发布的文件始终为空

这是我的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>();
                });

当我上传小于 5 MB 的 .mp4 文件时,它可以正常工作,但 237 MB 的 .mp4 我的“文件”和“控制器”中的“id”为空,并且没有发生错误。

如何解决这个问题?

【问题讨论】:

    标签: asp.net-core-mvc dropzone.js kestrel-http-server


    【解决方案1】:

    花了很多时间,得出的结论是我需要实现分块。

    【讨论】:

      猜你喜欢
      • 2013-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多