如何将angulardata和文件传递到角度2到后端?

时间:2018-02-21 13:26:41

标签: angular angular-reactive-forms

save(model: Customer) {
    const formData: any = new FormData();
    const files: Array<File> = this.filesToUpload;

    for(let i =0; i < files.length; i++){
        formData.append("uploads[]", files[i], files[i]['name']);
    }
    const formModel= this.myForm.value;
    this.reg.appform(this.application,formData,formModel).subscribe(()=> this.goBack());
    setTimeout(() => {
        this.loading = false;
    }, 1000);
}

这是ts文件,其中FormDataFormValue都传递给服务 然后:

appform(url,FormData,info){
   console.log(FormData);
   // window.alert("url");
   return this._http.post(url,FormData,JSON.stringify({ info}))
                    .map(()=>"");
}

这是Form.service.ts将数据投放到后端

$post_date = file_get_contents("php://input");
$data = json_decode($post_date);
// print_r($data);
// exit;

$MemberData = array(
    "OrgName"=>$data->info->name,
    "MemberName"=>$data->info->MemberName)

这就是我从后端接收数据的方式(codeigniter中的Controller)。 在service.ts文件中,如果在第二个位置传递模型,则数据发送完好但文件未上传。如果FormData在第二个位置传递文件正在上传,但数据显示错误,如

  

尝试读取非对象值

0 个答案:

没有答案