【问题标题】:Upload large files without extending IIS file size limitation上传大文件而不扩展 IIS 文件大小限制
【发布时间】:2014-09-23 20:16:04
【问题描述】:

正如主题所说,我们对文件大小有 IIS 限制,我们已将其扩展为允许上传最大 50MB 的文件。但在特殊情况下,我们必须以 .zip/.rar 格式发送较大的文件。 我们希望在不扩展 IIS 文件大小限制的情况下实现这一目标。

我们想做一些事情,比如将存档文件拆分成更小的文件,然后在服务器上再次组合它们,但这是最初的想法。

如果有任何示例或任何内置机制可以做到这一点,我很好奇。当然,非常欢迎更有经验的人提出任何其他建议。

提前谢谢你!

最好的问候, 伊万·伊万诺夫

【问题讨论】:

  • 文件大小限制是有原因的,我想。所以规避它可能被描述为“黑客”:) 我的第一个想法是和你一样:以某种形式重新组合另一侧的文件块
  • 是的,我知道我们正在尝试做的事情有点老套,但这些是要求:)

标签: c# .net iis file-upload iis-7


【解决方案1】:

我们想制作类似将存档文件拆分为 较小的文件,然后在服务器上再次组合它们,但这是 第一个想法。

其实这是个好主意。在 .NET 中没有内置的机制,但这里有一些提示可以帮助您入门:

【讨论】:

  • 谢谢!这些链接似乎很有帮助:)
【解决方案2】:

也许您可以将文件数据库存储为二进制文件。不是一个完美的解决方案,但它是解决方案之一。

更多信息在这里:Saving any file to in the database, just convert it to a byte array?

【讨论】:

  • 我们没有专门的数据库。我们的服务使用诸如 blob 存储之类的东西来持久化一些数据。但是感谢您的参考,这很有趣:)
【解决方案3】:

我知道这不是您理想的解决方案,但与其更改整个 IIS 的文件大小限制,不如只针对一个特定位置进行?

在您的 web.config 文件中,您要添加如下内容:

<location path="logon.aspx">
    <system.web>
      <httpRuntime requestValidationMode="2.0" executionTimeout="960" maxRequestLength="1073741824" /><!--1GB-->
    </system.web>
  </location>

1073741824 表示 1GB(大约)。 ma​​xRequestLength 以字节为单位。 executionTimeout 以秒为单位。有关这些的更多信息,请参见此处:http://msdn.microsoft.com/en-us/library/vstudio/e1f13641(v=vs.100).aspx

更多关于&lt;location&gt;的信息:http://msdn.microsoft.com/en-us/library/vstudio/b6x6shw7(v=vs.100).aspx

这就是我将如何去做,希望这会有所帮助,或者你找到你正在寻找的正确答案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-29
    • 2017-03-09
    • 2011-01-13
    • 1970-01-01
    • 1970-01-01
    • 2022-10-26
    • 1970-01-01
    相关资源
    最近更新 更多