在以下版本中,我正在发送数据。该文件未发送。
onSubmit() {
const fd = new FormData();
fd.append('resume', this.chosenFile);
const data = this.contactForm.value;
data['resume'] = fd;
console.log(data);
this.loading = true;
this.data.createJobEnquiry(data).subscribe((res)=>{
this.loading = false;
},(err)=>{
this.loading = false;
console.log(err)
alert("Something went wrong");
});
}
在下面的代码中,我仅发送文件即fd,并且将其发送出去。
onSubmit() {
const fd = new FormData();
fd.append('resume', this.chosenFile);
this.loading = true;
this.data.createJobEnquiry(fd).subscribe((res)=>{
this.loading = false;
},(err)=>{
this.loading = false;
console.log(err)
alert("Something went wrong");
});
}
HTML:
<input formControlName="resume" type="file" id="real-file" (change)="onFileSelected($event)" style="display: none;">
我如何获取文件。我可以正确获取文件,所以在那里没有问题。
onFileSelected(event) {
this.chosenFile = <File>event.target.files[0];
}
在第一个错误中,它给出错误“需要继续”,因此根本不发送该错误;在第二个错误中,该文件正确发送,没有错误,服务中不能有错误。这是我为简历字段分配文件的方式。
this.contactForm.value
是包含所有表单数据的对象,包括简历字段,该简历最初仅具有文件路径。
这里data ['resume'] = fd;我只是将文件分配给该简历字段。我知道错误在某处,我可能未正确执行。
如果我使用硬编码data['resume'] = "dd"
,则服务器中的错误仅是pdf文件,这进一步表明使用数据时我没有正确发送文件。