0

我正在使用fineuploader 上传文件。对于 200MB 以下的文件,一切正常。一切都失败了。创建了一个新文件,但它是空的(意思是 0kb)

已经修改了我的 web.config 以允许最多 500mb 的上传。但似乎没有帮助。

网络配置:

  <security>
      <requestFiltering>
          <requestLimits maxAllowedContentLength="524288000" />
      </requestFiltering>
  </security>

<httpRuntime targetFramework="4.5" maxRequestLength="512000" executionTimeout="900" requestLengthDiskThreshold="512000" />

控制器:

[HttpPost]
public ActionResult Upload(string qqfile)
{
    try
    {
        Stream stream = Request.Files.Count > 0 ? Request.Files[0].InputStream : Request.InputStream;

        string filePath = Path.Combine(@"C:\Temp\100", qqfile);
        using (Stream file = System.IO.File.OpenWrite(filePath))
        {
            stream.CopyTo(file);
        }
....

为什么我不能上传超过 200MB 的文件?

4

2 回答 2

0

想通了:这是一个 web.config 设置:

网络配置:

<httpRuntime targetFramework="4.5" maxRequestLength="2147483647" executionTimeout="90" requestLengthDiskThreshold="2147483647" />

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

感谢 Yasser 为我指明了正确的方向

于 2013-02-20T07:25:20.453 回答
0

首先想到的是 IIS 中的限制。在 IIS7 中的“集成模式”之前,必须处理 IIS-MetaBase 以设置 IIS 属性。

如果您在“集成模式”下运行您的网站或使用 VS Development Webserver(基于 Cassini),它可能会工作,如果您在“经典模式”下运行生产,它将不会使用集成配置并回退到元数据库。如果是这样并且您还没有编辑元数据库,那么任何超过默认元数据库上传限制的上传都将失败。

从您的代码/配置/问题中,我无法确定您遇到问题的网站正在运行什么模式 - 这对于回答您的问题可能至关重要 - 所以请提供这些详细信息。

于 2013-02-19T23:25:46.690 回答