问题描述
<div class="container col-md-4 px-3">
<input type="file" class="form-control-file" id="inputBulkTUpload">
<br><br>
<button type="submit" class="btn btn-info shadow" (click)="onAddBulkdata()">submit</button>
<br><br>
</div>
当我点击“提交”按钮时,我想将数据存储在我的表格中。
解决方法
<div>
<span class="drag-box-highlight" [ngClass]="CSVfile !== '' ? 'file-align' : 'file-none'">
{{CSVfile}} <i class="material-icons">done</i>
</span>
<input type="file" id="uploadFiles" #uploadFiles (change)="uploadFile($event)" />
<button mat-raised-button type="button" color="primary" [ngClass]="{'component-disabled' : CSVfile === ''}"
(click)="importProvidersDetails()" [mat-dialog-close]="true" cdkFocusInitial>{{'BUTTON_IMPORT' | translate: lang}}</button>
</div>
public uploadableFile: any = '';
public CSVfile: any = '';
filePath: string;
fileName: any;
uploadStatus = true;
dataSource;
isChecked = false;
validateFile(file: any) {
if (!file || !file.name) {
return false;
}
let filename = file.name;
filename = filename.split('.');
const filetype = filename.pop();
if (filetype.toLowerCase() === 'csv') {
return true;
} else {
return false;
}
}
uploadFile(e: any) {
if (e && e.target && e.target.files && e.target.files.length) {
const fileName = e.target.files[0].name.split('.');
if (fileName && fileName[1].toLowerCase() !== 'csv') {
this.notify.error(this.translation.translate('ERROR_CHOOSE_CSV'));
} else {
if (this.validateFile(e.target.files[0])) {
this.uploadableFile = e.target.files[0];
this.CSVfile = e.target.files[0].name;
this.uploadFiles.nativeElement.value = '';
return;
}
}
}
this.CSVfile = '';
}
importProvidersDetails() {
console.log(this.data.providerId)
const file = new FormData();
file.append('file',this.uploadableFile);
this.shippingService.importProvidersDetails(this.data.providerId,file).subscribe((response: any) => {
this.notify.success('Provider Details imported successfully');
this.uploadStatus = true;
this.dataSource = '';
this.CSVfile = '';
this.isChecked = false;
this.uploadableFile = '';
},(error: any) => {
console.log(error)
});
}