【问题标题】:Importing data to localstorage将数据导入本地存储
【发布时间】:2020-05-06 09:18:52
【问题描述】:

谁能帮我整理以下代码或帮助我朝着正确的方向前进?

它需要从 .txt 文件中导入数据并将其作为 key & value 存储到本地存储中。

键在':'之前,值在它之后。每个 ',' 之后都会分隔一个新的键/值。

.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+x19y7pF73eXoxG0qK1igZY>

<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>

非常感谢任何帮助!

【问题讨论】:

    标签: javascript arrays string local-storage


    【解决方案1】:

    您使用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 = step1chapter1Question1value = U2FsdGVkX1+/Sv61L69bLvQGTkf1A9Uy4jgJ3KZTkzI=

    【讨论】:

      猜你喜欢
      • 2011-02-20
      • 2019-01-13
      • 1970-01-01
      • 2022-08-16
      • 1970-01-01
      • 2014-07-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多