javascript - 导入(.xls,.csv)文件并将文件内容粘贴到angularjs的文本区域中
问题描述
我必须导入 .xls 或 .csv 文件并将文件内容粘贴到 angularjs 的文本区域中。没有提交或可点击的按钮或其他操作。唯一的操作是导入文件,一旦导入文件内容就应该粘贴到文本区域。
处理文件和粘贴文件内容的功能是在 Java 中完成的(并通过 ajax 调用作为类似拖放功能的一部分,这工作正常)。
对于导入,我可以使用导入按钮打开和选择文件,但有些无法调用并将文件和控制发送到我的函数。我需要这方面的帮助。
我尝试过“ng-change”或(更改)等,但它不起作用。我应该怎么做才能让我的函数 importFile() 被正确选择的文件调用。任何帮助都会很棒。谢谢
导入文件控制器.js。
function importFile(event) {
spinnerTrackerService.start('Analyzing your data...', 10);
event.preventDefault();
var files = event.dataTransfer.files;
if(files[0].type === ('application/vnd.ms-excel')){
const promise = fetchFileService.fetchFileData(files[0]);
promise.then((response) => {
let responseTargetList = response.data.replace(/[[\]]/g,'');
if(responseTargetList !== ""){
$ctrl.targetList = responseTargetList;
$ctrl.onTextAreaBlur();
spinnerTrackerService.stop();
}else{
spinnerTrackerService.stop();
openWarningModal("EMPTY_FILE");
}
});
} else {
spinnerTrackerService.stop();
openWarningModal("INVALID_FILE");
}
};
导入文件.html。
<div class="target-list-count-import-row">
<div class="target-list-count-import-ctnr">
<div class="target-list-import-ctnr">
<input type="file" name="importFile" id="importFile" accept=".xls,.csv" class="hide-default" />
<label for="importFile" class="target-list-import">
<svg class="import-icon">
<use href="#icon-import"></use>
</svg>
Import an existing list
</label>
</div>
</div>
</div>
解决方案
推荐阅读
- regex - 如何使用正则表达式将文本拆分为块,在特定字符上断开?
- mercurial - 是否可以删除架子中的单个文件?
- java - 使用 DataFlow 从多个 PubSub 主题流式传输到 BigQuery 时消息卡在 GBP 中?
- google-apps-script - 当单元格符合谷歌表格中的标准时发送电子邮件
- javascript - 为什么我不能在不丢失 JS 精度的情况下将字符串转换为数字?
- angular - 从http响应对象Angular 6获取属性的值
- javascript - 在svg unsig javascript中获取最长线段的长度
- python - 升级到 Django 2.1 500 错误消息后不再发送
- ionic3 - 使用空对象的离子 3 动态 ngModel
- excel - Sumproduct 映射多行