[英]Trying upload large file from formData
我試圖通過這樣的FormData和xmlHTTPRequest上傳大文件(超過200mb)
var fd = new FormData;
fd.append('files[]', file);
xmlHttpRequest.open("POST", url, true);
xmlHttpRequest.send(fd);
在PHP腳本中我有
<?php
var_dump("IN");
var_dump($_FILES);
出:
IN
array()
請求等待10秒並完成。 使用較小的文件,一切都很好,而沒有FormData(來自簡單的ajax),則一切都很好。 php.ini中的所有設置都具有最大值。 怎么了?
如果有幫助,這是我的請求標頭:
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Cache-Control no-cache
Content-Length 294561150
Content-Type multipart/form-data
Host test1
Referer http://test1/
User-Agen Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0
X-Requested-With XMLHttpRequest
響應頭:
Connection close
Content-Encodin gzip
Content-Length 51
Content-Type text/html
Date Sat, 29 Jun 2013 23:03:26 GMT
Server Apache/2.2.22 (Ubuntu)
Vary Accept-Encoding
X-Powered-By PHP/5.4.17RC1
我的/etc/php5/apache2/php.ini:
file_uploads = On
upload_max_filesize = 512M
max_file_uploads = 20
max_input_time = 10000
memory_limit = 2048M
max_execution_time = 10000
post_max_size = 1024M
我的腳本鏈接: http : //www.megafileupload.com/en/file/430866/test1-tar-gz.html
PS它一直運行10秒鍾 ,然后完成。
這些沒有影響您的php.ini文件,會影響上傳,您需要相應地進行更改
file_uploads
upload_max_filesize
max_input_time
memory_limit
max_execution_time
post_max_size
對於較大的文件,所有這些設置都必須具有較高的設置。 注意不要將memory_limit設置得太高,這可能很危險。 我也許會做128MB
。 很多人都忘記了max_execution_time
,默認值為30
秒。 不足以容納大文件。 我處理大型視頻后將我的數量設置為1000
。 這是腳本無法完成而過早完成的常見原因。 您可能需要重啟網絡服務器,也可能不必重啟。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.