【发布时间】:2020-10-13 04:14:13
【问题描述】:
如何通过 post 传递 formData 对象并在 php 文件中接收它,尝试通过 ajax php 上传图像文件。
我的html、js文件是这样的
<input type="file" id="myFileInputId" name="myFileName">
var the_file_that_was_uploaded = profile_image_input.files[0];
var form_data_obj = new FormData();
form_data_obj.append('fileToUpload',the_file_that_was_uploaded);
form_data_obj.append("id_of_user", myId);
form_data_obj.append("text_of_quake", myTextvalue);
xhr.onload = function(){
if(this.status == 200){
console.log(this.responseText);
}
};
xhr.onerror = function(){
console.log('Error from server side');
}
xhr.open('POST','myPHPbackEnd.php',true);
xhr.send('some_information='+form_data_obj);
在我的 php 文件中,想要这样做
if(isset( $_POST['some_information'])){
//how to get the file and its porperty
//cannot get to $_FILES['some_information']
//or $_FILES['myFileName']
//or id and text
}
我想获取 formData 对象及其内容并将其传递给下一个 php 文件以执行此类操作,但无法将它们全部关联起来
$fileName = $_FILES['fileToUpload']['name'];
$fileType = $_FILES['fileToUpload']['type'];
$fileContent = file_get_contents($_FILES['fileToUpload']['tmp_name']);
$dataUrl = 'data:' . $fileType . ';base64,' . base64_encode($fileContent);
$value = $_FILES['fileToUpload']['tmp_name'];
$targetPath = 'temp_image_folder/'.basename($_FILES['fileToUpload']['name']);
move_uploaded_file($value,$targetPath);
【问题讨论】:
-
不会是
$_FILES['fileToUpload']吗?
标签: javascript php ajax post