簡體   English   中英

嘗試從formData上傳大文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM