我正在使用带有laravel的angular 7后端。我有一种形式 在这里我有一个下拉列表的公司。用户将选择 我正在显示一个html表的特定公司onchange公司 以及特定公司的员工列表。
html表格的代码:
<table *ngIf="allemp" >
<tr>
<th>ID</th>
<th>Name of Employee</th>
<th>Attached Payslip</th>
</tr>
<tr *ngFor="let data1 of allemp">
<td>{{data1.id}}</td>
<td>{{data1.comp_empl_name}}</td>
<td><input type="file" (change)="onFileChangeInfo($event)" multiple></td>
</tr>
</table>
如您在上一个td
中所看到的,我正在输入类型文件,我希望从该文件中将不同薪水单的每个员工添加到数据库中。
我在ts文件中获取多个文件的功能:
onFileChangeInfo(event) {
console.log(event);
const reader = new FileReader();
if(event.target.files && event.target.files.length > 0) {
const [file] = event.target.files;
reader.readAsDataURL(file);
console.log(file);
reader.onload = () => {
this.myForm1.patchValue({
'inv_blob': reader.result,
'inv_pdf':file.name,
});
this.cd.markForCheck();
};
}
}
在console.log(file)
上,我可以获取每个文件。但在后端api中,只能访问最后一个文件。
我无法将后端获取的所有文件都放入console.log(file)。
$blob_payslip = $request->inv_blob;
$filename_contract =$request->inv_pdf;
$paySlipUpload = CapsMaster::UploadFile1($blob_payslip,$this->payslipfolder,'abc',$filename_contract);
$payslip_data->inv_pdf='payslips/'.$billing_com.'/'.$paySlipUpload;
我尝试了foreach循环,但对我不起作用。我想将每个选定文件的不同行存储到数据库中。请为我提供帮助。如有可能,请给我发送一些链接。因为我在Google上搜索了此问题,但没有得到正确的答案。