14

Is it possible to upload file using

<input type="file">

and then parse it to javascript array without saving the file on server-side? Could you advice any plugin to do it with csv (or any other) file type.

Is it good idea to do things such way without using back-end?

Thanks.

4

1 回答 1

27

用于上传 csv 并在客户端解析它的 Js 代码,然后将它们绘制到控制台中

function uploadDealcsv () {}; 

  /*------ Method for read uploded csv file ------*/
  uploadDealcsv.prototype.getCsv = function(e) {
       
      let input = document.getElementById('dealCsv');
      input.addEventListener('change', function() {

        if (this.files && this.files[0]) {

            var myFile = this.files[0];
            var reader = new FileReader();
            
            reader.addEventListener('load', function (e) {
                
                let csvdata = e.target.result; 
                parseCsv.getParsecsvdata(csvdata); // calling function for parse csv data 
            });
            
            reader.readAsBinaryString(myFile);
        }
      });
    }

    /*------- Method for parse csv data and display --------------*/
    uploadDealcsv.prototype.getParsecsvdata = function(data) {

        let parsedata = [];

        let newLinebrk = data.split("\n");
        for(let i = 0; i < newLinebrk.length; i++) {

            parsedata.push(newLinebrk[i].split(","))
        }

        console.table(parsedata);
    }


  
  var parseCsv = new uploadDealcsv();
  parseCsv.getCsv();
<input type="file" id="dealCsv"/>

于 2018-05-29T07:08:54.493 回答