Javascript 上传多个文件:Angular
我试图上传多个文件,但我有一个错误的地方,我还不知道。控制台中没有显示任何内容,但“uploadData”为空,如下所示:Javascript 上传多个文件:Angular,javascript,php,angular,Javascript,Php,Angular,我试图上传多个文件,但我有一个错误的地方,我还不知道。控制台中没有显示任何内容,但“uploadData”为空,如下所示: const uploadData = new FormData(); uploadData.append('File_1', this.selectedFile_1, this.selectedFile_1.name); uploadData.append('File_2', this.selectedFile_2, this.selectedFile_2.name); u
const uploadData = new FormData();
uploadData.append('File_1', this.selectedFile_1, this.selectedFile_1.name);
uploadData.append('File_2', this.selectedFile_2, this.selectedFile_2.name);
uploadData.append('File_3', this.selectedFile_3, this.selectedFile_3.name);
uploadData.append('File_4', this.selectedFile_4, this.selectedFile_4.name);
uploadData.append('File_5', this.selectedFile_5, this.selectedFile_5.name);
uploadData.append('File_6', this.selectedFile_6, this.selectedFile_6.name);
uploadData.append('File_7', this.selectedFile_7, this.selectedFile_7.name);
还具有此功能以检查每个输入的任何更改:
selectedFile_1: File;
onFileChanged_1(e) {
let target = e.target;
this.selectedFile_1 = target.files[0];
console.log(`first file changed: ${this.selectedFile_1}`)
}
现在,我给PHP发送了很多东西,除了这个,一切都很好。当我尝试发送一个文件时,它可以工作,但是,如果我发送多个文件,“uploadData”不会得到一个值。我也做了控制台日志,我什么也没有得到,完全是空的(这也在后端)
有人能帮我吗
好的,这可能会有帮助,当我这样写它时,它工作了,但只针对一个文件,我似乎只能做1:
uploadedData: FormData;
selectedFile: File;
onFileChanged(e) {
let target = e.target;
this.selectedFile = target.files[0];
}
eventId: Number = 0;
upload() {
const uploadData = new FormData();
uploadData.append('myFile', this.selectedFile, this.selectedFile.name);
this.http.post<Response>(environment.apiUrl + "handers/events/imageUpload.php", uploadData).subscribe(
data => {
this.eventId = data.id;
Swal.fire(
'Téléchargement Terminé!',
'',
'success'
)
}
)
}
uploadedData:FormData;
selectedFile:文件;
onFileChanged(e){
设target=e.target;
this.selectedFile=target.files[0];
}
eventId:Number=0;
上传(){
const uploadData=new FormData();
uploadData.append('myFile',this.selectedFile,this.selectedFile.name);
this.http.post(environment.apiUrl+“handers/events/imageUpload.php”,uploadData)(
数据=>{
this.eventId=data.id;
喷火(
“Téléchargement termine!”,
'',
“成功”
)
}
)
}
我找到了解决这个问题的方法,问题是你不能用Angular在一个API调用中向PHP发送多个文件,换句话说,你必须一个接一个地发送这些文件,这就是问题的解决方案,希望这能帮上忙。我找到了解决这个问题的方法,问题是你不能用Angular在一个API调用中向PHP发送多个文件,换句话说,你必须一个接一个地发送这些文件,这就是问题的解决方案,希望这有帮助。这对你有帮助吗。不抱歉,我正在尝试上载多个文件,但不是在同一个输入上,每个文件都在其自己的输入字段中,这就是区别。您有不同的onFileChanged方法吗?是的,像这样onFileChanged_1、onFileChanged_2、onFileChanged_3……我有一些建议。我相信,由于重新呈现页面,file1、file2变量被设置为未定义。请您提供一个服务,并继续在那里添加上载的文件,当您单击上载按钮时,循环文件并附加到表单数据。这对您有帮助吗。不抱歉,我正在尝试上载多个文件,但不是在同一个输入上,每个文件都在其自己的输入字段中,这就是区别。您有不同的onFileChanged方法吗?是的,像这样onFileChanged_1、onFileChanged_2、onFileChanged_3……我有一些建议。我相信,由于重新呈现页面,file1、file2变量被设置为未定义。请你做一个服务,并继续添加上传的文件,当你点击上传按钮,循环文件和附加到表单数据。