我已经成功地上传了一个文件,但现在的问题是它不允许我再次上传同一个文件。这是我的代码:
我发现onFileChange($event)不会触发,因为我使用的监听器是(change),而且我没有更改上传的文件。我该怎么办才能解决这个问题?谢谢
编辑:为了让你理解我为什么要这样做,我想上传一个Excel文件,然后在页面上显示它的内容。但当我上传一个Excel文件,然后使用MS Excel编辑其中的数据并保存并重新上传时,新的编辑不会显示在页面上。页面仍然显示旧数据。
这是我的事件处理程序代码:
代码内容
<input type="file" (change)="onFileChange($event)" name="fileUploaded" value="Choose a File" accept=".xlsx, .xlsm">
我发现onFileChange($event)不会触发,因为我使用的监听器是(change),而且我没有更改上传的文件。我该怎么办才能解决这个问题?谢谢
编辑:为了让你理解我为什么要这样做,我想上传一个Excel文件,然后在页面上显示它的内容。但当我上传一个Excel文件,然后使用MS Excel编辑其中的数据并保存并重新上传时,新的编辑不会显示在页面上。页面仍然显示旧数据。
这是我的事件处理程序代码:
data: AOA = [ [], [] ];
reader: FileReader = new FileReader();
onFileChange(evt: any) {
/* wire up file reader */
console.log("G");
const target: DataTransfer = <DataTransfer>(evt.target);
this.reader.onload = (e: any) => {
/* read workbook */
this.data = [ [], [] ];
console.log(target.types);
const bstr: string = e.target.result;
const wb: XLSX.WorkBook = XLSX.read(bstr, {type: 'binary'});
/* grab first sheet */
const wsname: string = wb.SheetNames[0];
const ws: XLSX.WorkSheet = wb.Sheets[wsname];
/* save data */
this.data = <AOA>(XLSX.utils.sheet_to_json(ws, {header: 1}));
}
this.reader.readAsBinaryString(target.files[0]);
}