baiyunchen/UEditor.Core

视频上传不可用

zhulige opened this issue · 4 comments

.NetCore下视频上传不可用。

请帮忙提供重现步骤,我这边尝试没有啥问题,你也可以克隆本仓库,把Demo跑起来试试看~
image

image

视频超过100M可以复现。

报什么错可以提供一下吗?这么大的视频,支持的有可能真的不太好,这个上传是没有做分片上传的~

我用一个168M的视频实验了一下,这个错误其实不是程序的问题,是一系列配置的问题。
首先会报如下一个错误:
image
这是因为IIS默认会限制最大Request的大小,默认是28.6M(30000000字节)需要修改IIS的配置。错误中也提示的比较清楚了,修改Verify the configuration/system.webServer/security/requestFiltering/requestLimits@maxAllowedContentLength setting in the applicationhost.config or web.config file.
具体可以参考微软IIS的文档:https://docs.microsoft.com/en-us/iis/configuration/system.webserver/security/requestfiltering/requestlimits/

接着程序会抛另外一个问题:
image
这个其实是.net Core会限制Request的大小,谷歌可知需要加如下的配置:

 public void ConfigureServices(IServiceCollection services)
        {
            services.AddUEditorService();
            services.AddMvc();
           // 加上如下配置
            services.Configure<FormOptions>(x =>
            {
                x.ValueLengthLimit = int.MaxValue;
                x.MultipartBodyLengthLimit = int.MaxValue; // In case of multipart
            });
        }

可以参考SOF的回答:https://stackoverflow.com/questions/40364226/multipart-body-length-limit-exceeded-exception

所以,该问题跟UEditor.Core无关,属于配置的策略问题。此外,个人觉得对于视频这类比较大的文件,不是非常适合这种上传方式。采用断点续传的方式更好,当然了,断点续传对技术的要求比较高,UEditor.Core暂时也不会考虑支持~