angular - 为什么我需要上传我的文件两次才能将其放入数据库?
问题描述
所以基本上我正在处理一个接受.csv并将其存储在localStorage(没有服务器,本地解决方案)的文件上传 - 一切正常,但我总是需要上传一个文件两次才能将它放在我的localStorage中,有时它' s 第一次工作,有时不工作。
还有一件奇怪的事情是,当我路由到不同的位置并上传文件一切正常时,问题只出现在我的“概览”中 - 将显示数据。
我的模板:
<input type="file" #csvReader name="Upload CSV" id="txtFileUpload"
(change)="uploadListener($event)" accept=".csv" class="inputfile" />
NEW FILE
</label>
和我的 TS:
uploadListener($event: any):void {
this._dataService.initializeDB($event);
}
数据服务.ts:
initializeDB($event: any){
this.students = [];
localStorage.removeItem('students');
let files = $event.srcElement.files;
if (this.isValidCSVFile(files[0])) {
let input = $event.target;
let reader = new FileReader();
reader.readAsText(input.files[0],'ISO-8859-1');
reader.onload = () => {
let csvData = reader.result;
let csvRecordsArray = (<string>csvData).split(/\r\n|\n/);
let headersRow = this.getHeaderArray(csvRecordsArray);
this.getDataRecordsArrayFromCSVFile(csvRecordsArray, headersRow.length);
};
}
解决方案
推荐阅读
- angular - 如何以角度将方法从一个组件调用到另一个组件
- java - Java中char数组的选择排序
- javascript - 改进功能以突出显示所有类型的搜索词 - 反应原生
- visual-studio - 无法下载 Visual Studio 安装程序
- java - 线程“main”java.lang.NumberFormatException 中的异常:对于输入字符串:“3727284434”
- gnuplot - 避免在 gnuplot 中剪切轴编号
- excel - 使用 B 列中的 Excel 数据搜索网站;将搜索结果保存在 C 和 D 列中
- javascript - 如何仅在按下输入按钮时禁用表单提交
- python - 有什么好主意来衡量用户在队列中等待的时间吗?(Python)
- highcharts - HighStock 不绘制注释/注释离开视口?