2

我正在尝试将 32MB 的文件上传到 Azure blob。为此,我使用了基于 PHP 的脚本 uploadify。

我有另一个 21.9MB 的文件,它工作正常,但较大的文件不断给我一个 IO 错误。我已将 user.ini 限制设置为以下内容:

upload_max_filesize = 60M
post_max_size = 60M
memory_limit = 60M
max_input_time = 1200
max_execution_time = 1200

我是否忘记设置限制,还是需要查看其他内容?

4

2 回答 2

2

关于您的问题,有几件事需要了解。如果您使用基于 REST Api(任何编程语言 PHP、C#、Java、Python、NodeJs 等)的解决方案将 Blob 直接上传/下载到 Azure 存储或从 Azure 存储上传/下载,则不会达到如此小的限制。在这种情况下,Blob 大小限制由 Azure Blob 存储设置,每个 Blob 的当前限制为 1TB。

但是,当您使用网络服务器上传/下载文件并且网络服务器中的底层代码用于将上传的文件存储到 Azure Blob 存储时,您将达到网络服务器提供的限制。您的问题与 Web 服务器设置有关。

我真的想在这里澄清一下,您上面所做的是修改了 IIS Web 服务器设置,以解决与在 IIS Web 服务器中运行的 Uplodify 脚本相关的上传问题。任何 Web 服务器中的文件上传都通过 HTTP 进行,并且您已更改 IIS 设置以通过 HTTP 通道接受更大的文件,并且更改 Web 服务器配置对您有所帮助。

于 2013-03-15T23:47:31.970 回答
1

我解决了这个问题,我所做的如下:

创建一个 web.config 文件。

<?xml version="1.0"?>

<configuration>
    <system.web>
        <!-- other settings -->
        <httpRuntime maxRequestLength="104857600" /> <!--100 MB-->
        </system.web>
        <system.webServer>
          <security>
            <requestFiltering>
              <requestLimits maxAllowedContentLength="104857600" /> <!--100 MB-->
            </requestFiltering>
          </security>
        </system.webServer>
</configuration>

在此之后我只收到一个 http 500 错误,为了解决这个问题,我在 .htaccess 文件中添加了以下行:

LimitRequestBody 200MB
于 2013-03-18T09:52:24.870 回答