javascript - 将数据导入本地存储
问题描述
任何人都可以帮我整理以下代码或帮助我朝着正确的方向前进吗?
它需要从 .txt 文件中导入数据并将其作为键和值存储到本地存储中。
键在':'之前,值在它之后。在每个“,”之后分隔一个新的键/值。
.txt 文件中的示例数据是:
nl-step1chapter1Question6:U2FsdGVkX19bRT84xShxK+29ypgj1d6ZHt+2DVBCUtY=,nl-step1chapter1Question1:U2FsdGVkX1+/Sv61L69bLvQGTkf1A9Uy4jgJ3KZTkzI=,nl-step1chapter1Question4:U2FsdGVkX1+9SVVOvTKeZuaQGj58L5WnEgL8htS0c7U=,jft:320982da-f32a-46a2-a97c-605ebe305518,nl-step1chapter1Question5:U2FsdGVkX19pi8A+PQZ7rBNCWrFeCwl2HdXpV+wWkFk =,nl-step1chapter1Question2:U2FsdGVkX19hnRnpmP3omzYNU0jXd3NtsHM+mvGYBnc=,nl-step1chapter1Question3:U2FsdGVkX1+hPbMRN+x19y7pF73eXoxG0qK1igZYZbA=
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script type="application/x-javascript">
$(function importData() {
document.getElementById('file').onchange = function () {
//debugger;
var file = this.files[0];
var reader = new FileReader();
reader.onload = function (progressEvent) {
//console.log(this.result.split(','));
var lines = this.result.split(',');
var list = [];
for (var line = 0; line < lines.length; line++) {
list.push(lines[line]);
localStorage.setItem([line],lines);
}
};
reader.readAsText(file);
};
});
</script>
任何帮助深表感谢!
解决方案
你使用的方式FileReader
对我来说似乎不正确。这就是你的importData()
功能应该是这样的:
$(function importData() {
document.getElementById('file').onchange = function (event) {
var input = event.target;
var reader = new FileReader();
reader.onload = function () {
var text = reader.result;
var lines = text.split(',');
for (var line = 0; line < lines.length; line++) {
let elements = lines[line].split(':');
localStorage.setItem(elements[0], elements[1]);
}
};
reader.readAsText(input.files[0]);
};
});
它将localStorage
按照您的描述插入元素。例如:key
=step1chapter1Question1
和value
=U2FsdGVkX1+/Sv61L69bLvQGTkf1A9Uy4jgJ3KZTkzI=
推荐阅读
- python - 运行 SQL 查询时出现 PySpark 错误
- java - 方法 ASM Java 的覆盖
- checkbox - 根据状态检查 extjs 网格中的行
- java - EventHandler 在一个单独的类中
- tensorflow - Tensorflow 1.9 Bazel build error with Cuda on Windows
- ios - 如何修复 TableView 中的跳跃单元格?
- java - 将 JSON 对象写入文件 - 附加不起作用
- java - 在 Android 上使用 Firebase 进行基本读写
- spring - 刷新 OSGI Bundle 上下文,找不到 Spring NamespaceHandler
- python-3.x - python脚本的“SublimeRepl”用户输入