从azure网站上传大文件到azure blob

时间:2013-03-15 11:10:42

标签: php azure blob

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

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

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

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

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:0)

我解决了问题,我做的是以下内容:

创建一个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