我想从我的Angular App上传图片。 目前我已经获得了模板(如下所示)
<input
type="file"
id="newIcon"
name="iconeRubric"
(change)=iconChange($event)
>
我还有一个组件在变更时将文件保存在变量中,在提交时我想调用一个php文件将文件保存在服务器上。我有:
let formData = new FormData();
formData.append("iconeRubric", this.newRubricForm.get("iconeRubric").value);
const headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
this.http.post('./uploadFile.php', formData, {
headers: headers
}).map(res => res.text())
.subscribe(data => {
if(JSON.parse(data).upload){
this.finishSubmit(); // change route, hide popUp etc...
alert("Upload OK");
} else {
alert("Upload error");
}
});
这里我想将formData var传递给php文件。但我怎么能在PHP中获取它?
我尝试$file = $_POST['iconeRubric'];
,但$ file始终为null
在另一个项目中,我已经将变量从angular传递给了php,但只有字符串或json是stringify with:
let param = 'param='+encodeURIComponent(JSON.stringify(
{"email":email,"password":password}));
this.http.post('./logIn.php', param, {
headers: headers
}).map(res => res.text())
.subscribe(data => {
...code...
});
并且在logIn.php中我可以得到以下值:
<?php
$json = urldecode($_POST['logUser']);
?>
那么如何在php中获取文件? 感谢您的帮助