Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript FormData附加到$\u POST而不是$\u文件?_Javascript_Php - Fatal编程技术网

Javascript FormData附加到$\u POST而不是$\u文件?

Javascript FormData附加到$\u POST而不是$\u文件?,javascript,php,Javascript,Php,我正在尝试实现一个大型文件的上传例程,为此,我将文件分块并逐块发送到服务器 现在,为了识别区块部分,我尝试在FormData中发送比纯filepart更多的信息 var xhr = new XMLHttpRequest(); xhr.open("POST", 'upload.php', true); var formData = new FormData(); formData.append("chunkpart", blob); // blob is Blob() or BlobBuilde

我正在尝试实现一个大型文件的上传例程,为此,我将文件分块并逐块发送到服务器

现在,为了识别区块部分,我尝试在
FormData
中发送比纯filepart更多的信息

var xhr = new XMLHttpRequest();
xhr.open("POST", 'upload.php', true);

var formData = new FormData();
formData.append("chunkpart", blob); // blob is Blob() or BlobBuilder
formData.append("chunkNumber", sendCount); // sendCount is an integer
formData.append("maxChunks", Math.ceil(maxChunks)); // maxChunks is a floatingpoint
formData.append("fileID", fileID); // fileID is an almost unique string
xhr.send(formData);
在php端,
chunkpart
可以在
$\u文件中找到,但是
chunkNumber、maxChunks
fileID
可以在
$\u POST
中找到


我的问题是:我是否做错了什么,或者我只是误解了
FormData
的工作原理,以及我如何才能让它像我预期的那样工作?

这就是发布的内容如何处理BLOB数据。它以多部分表单post的形式作为“文件”上传。在PHP中,这种类型的表单数据位于$\u FILES变量中,而不是$\u POST


是否有某些原因导致您无法从$\u POST和$\u文件中获取数据?我在处理包含文件/图像的发布表单内容时经常这样做。

您误解了FormData的工作原理。为什么需要
$\u文件中的数据?从
$\u POST
上读它有什么不对?@Quentin请看迈克尔·弗罗明回答时的评论我当然可以抓住这两个问题,但我试图理解为什么它没有按预期工作。所以我问我是否误解了什么。只是看了一眼,发现它们附加了键/值对,所以我想这就是它的工作原理;)