如何访问从 XMLHttprequest 发送的表单数据(blob 数据)并将其存储到特定位置

How to access the form data (blob data) that is sent from XMLHttprequest and store it to specific location

我已经使用 canvas.toBlob() 函数将 canvas 元素转换为 blob 数据,转换为变量 blob。 然后我将它附加到 formdata

const formData = new FormData();
formData.append('my-file',blob,fileName);

我使用 XMLHttpRequest 将 formData 发送到 storeImage.php

var sendImage = new XMLHttpRequest();
var url ="https://192.168.x.x/storeImage.php";
sendImage.open("POST",url, true);
sendImage.send(formData);

storeImage.php 里面,我有这些代码行,至少要先尝试访问 formData

<?php
    var_dump($_POST['my-file'])
?>

以便我稍后可以将其存储为文件。

但是var_dump的结果如下。

Warning: Undefined array key "my-file" in E:\xampp\htdocs\wasp_bee\storeImage.php on line 2
NULL

我怎样才能至少访问 php 文件中发布的 formData,以便我最终可以继续使用 file_put_contents 将 blob 数据作为文件保存到服务器 (./img)函数 ?

提前致谢:)

可以使用 $_FILES 数组访问二进制文件。

An associative array of items uploaded to the current script via the HTTP POST method. The structure of this array is outlined in the POST method uploads section.

上传的文件可以使用move_uploaded_file功能存储到您的地址。

move_uploaded_file($_FILES['my-file']['tmp_name'], 'address to store file');

检查文件错误、名称、格式等非常重要,请在主要参考处检查。

https://www.php.net/manual/en/reserved.variables.files.php

https://www.php.net/manual/en/function.move-uploaded-file.php