2013-03-15 156 views
2

我試圖上傳一個32MB的文件到Azure blob。爲此,我使用uploadify,一個基於PHP的腳本。從azure網站上傳大文件到azure blob

我有另一個21.9MB的文件,工作正常,但較大的文件不斷給我一個IO錯誤。我已經把我的user.ini文件限制爲以下內容:

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

我忘記了限制設置,或者我需要看看其他的東西?

+0

我不熟悉的天藍色,但有限制關於什麼可以作爲單個文件上傳?我認爲亞馬遜將其限制爲30兆,這就是爲什麼它想到了。 – vascowhite 2013-03-15 11:20:29

+0

我也擔心那就是,別的東西,哪裏將M代表在德的upload_max_filesize,是類似於MB?執行時間在幾秒鐘內我猜? – Jeroen 2013-03-15 11:27:03

+0

是'M'=兆字節,時間以秒爲單位。 – vascowhite 2013-03-15 11:28:01

回答

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 
2

有幾件事要理解你的問題。如果您使用基於REST API的API(任何編程語言PHP,C#,Java,Python,NodeJs等)解決方案將Azure存儲上傳至&的Blob直接上傳/下載,您將不會遇到這樣的限制。在這種情況下,Blob大小限制由Azure Blob存儲設置,每個Blob的電流限制爲1TB。

但是,當您使用網絡服務器上傳/下載文件,並且網絡服務器中存在下面的代碼以將上傳的文件存儲到Azure Blob存儲時,您將達到Web服務器提供的限制。您的問題與Web服務器設置有關。

我真的想在這裏說明的是,你在上面做了什麼修改IIS Web服務器設置,以解決與在IIS Web服務器上運行腳本Uplodify涉及您的上傳問題。任何Web服務器上的文件上傳都是通過HTTP進行的,並且您已將IIS設置更改爲通過HTTP通道接受更大的文件,並且更改Web服務器配置可幫助您在此處獲得幫助。