.Net核心api在保存大文件时返回404

时间:2019-02-04 18:14:49

标签: c# .net asp.net-web-api .net-core

我有.net核心api,可将文件保存在文件服务器上。当文件大小较小(例如10 kb,1 Mb,10 Mb)时,它可以正常工作。但是,当我尝试保存100 mb的文件时,它将返回:

404-找不到文件或目录。   您要查找的资源可能已被删除,名称已更改或暂时不可用。

我更新了红k选项以忽略文件大小:

 .UseKestrel(options => {
                options.Limits.MaxRequestBodySize = null;

            })

文件保存代码:

using (var imageFile = new FileStream(fullPath, FileMode.Create))
            {
                imageFile.Write(bytes, 0, bytes.Length);
                imageFile.Flush();
            }

Web配置:

<system.webServer>
<security>
  <requestFiltering>
    <requestLimits maxAllowedContentLength="4294967295" />
  </requestFiltering>
</security>

但是,在服务器上托管时,它仍然不起作用(对于大文件大小)。 虽然当我使用iis express托管在本地计算机中时效果很好。

可能是什么原因?还是我在这里缺少任何设置?

1 个答案:

答案 0 :(得分:1)

请检查https://keras.io/applications/#inceptionv3。您需要增加/设置maxAllowedContentLength

<system.webServer>
  <security>
    <requestFiltering>
      <!-- This will handle requests up to 50MB -->
      <requestLimits maxAllowedContentLength="52428800" />
    </requestFiltering>
  </security>
</system.webServer>