![](/img/trans.png)
[英]How can i receive a FormData with a file and string appended in PHP?
[英]How can i pass formData object through post and receive it in other php file
我如何通过 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);
将您的 js 代码更改为:
xhr.send(form_data_obj);
然后在你的 php 中做:
if(isset($_FILES['fileToUpload'])){
// do stuff with file
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.