为什么FileReader在文件后附加换行符?

问题描述 投票:0回答:1

我正在尝试使用FileReader加载删除的文件,但是如果文件不以一个结尾,则会在文件后附加一个神秘的'\ n'字符。

丢弃不以换行符结尾的文本文件,请注意文件的最后一个字符将是'\ n'(代码10)。

let fileReader = new FileReader();

fileReader.onload = function(event) {
  let lastChar = this.result.charCodeAt(this.result.length - 1);
  
  document.querySelector("#last_char").innerText = lastChar;
  document.querySelector("#length").innerText = this.result.length;
  
  for (let i = 0; i < this.result.length; ++i) {
     console.log(this.result.charCodeAt(i));
  }
}

function drop(event) {
  event.stopPropagation();
  event.preventDefault();

  var files = event.dataTransfer.files; //It returns a FileList object

  for (var i = 0; i < files.length; i++) {
    var file = files[i];
    fileReader.readAsText(file);
  }
}
* {

  box-sizing: border-box;
}

html,
body {
  height: 100%;
}

#drop_area {
  width: 100%;
  height: 50%;
  border: 3px dashed #aaaaaa;
  border-radius: 10px;
  text-align: center;
}
<div id="drop_area" ondrop="drop(event)" ondragover="event.preventDefault()">drop a text file here</div>
<div>Last char:</div>
<div id="last_char"></div>

<div>Length:</div>
<div id="length"></div>
javascript drag-and-drop filereader
1个回答
1
投票

事实证明,这是Unix,与javascript完全无关。无论插入与否,编辑器是否显示,似乎总会以换行符结束。所以发生的事情是我以为我的文件没有换行符,因为实际上我的编辑器没有显示它。

哇!

© www.soinside.com 2019 - 2024. All rights reserved.