ASP.NET Web API内容长度检查而不读取整个内容

时间:2017-06-09 08:44:08

标签: asp.net asp.net-web-api file-upload http-headers content-length

我有一个web api端点,它接受一些文件作为内容正文。在端点我正在检查内容大小,如果它超过10MB文件大小,我拒绝请求。对于其他端点,我们需要接受不同的文件大小限制。因此,可以肯定的是,我无法更改Web配置以接受单个最大文件大小限制。

我使用以下代码来获取内容的大小并进行逻辑检查。

long? contentLength = this.Request.Content.Headers.ContentLength; 

问题是,我不想在方法中等待加载所有上传的文件来接收。当我从swagger发送文件时,我必须等待文件上传,然后方法开始执行。示例:假设我的带宽是3mbps,我正在上传一个10MB的文件。因此,约需要花费(80mb / 3 =)26秒。在上面的代码开始执行之前。

需要更改的内容,或者实际上是否可以在不将整个内容上传到服务器的情况下检测内容长度?

0 个答案:

没有答案