简单的客户端文件处理,无需刷新

时间:2012-09-04 18:46:23

标签: javascript jquery web-applications

对于以下用例,什么是简洁明了的JavaScript解决方案:

在网页上,用户从本地文件系统中选择并上传文本文件,但不是将文件加载到服务器,而是打开客户端javascript代码并处理文件内容,并将结果写入没有刷新页面的同一页面。

注意:我不需要保留文件的内容 - 如果用户关闭页面,那么内容就会丢失,这很好。一切都应该发生在客户端的页面上 - 无需触摸服务器。

如果有一些轻量级JQuery插件,很想知道!

2 个答案:

答案 0 :(得分:8)

您所谈论的是HTML5文件API。我不确定描述它的最佳链接是什么,但这可能有所帮助。 https://developer.mozilla.org/en-US/docs/Using_files_from_web_applications

答案 1 :(得分:0)

为方便起见,以下是打开和打印文本文件的示例:

<input type='file' id='file-input' />
let fileInput = document.getElementById('file-input')

fileInput.onchange = () => {
  const reader = new FileReader()
  reader.onload = (e) => console.log('file contents:', e.target.result)

  for (let file of fileInput.files) {
    reader.readAsText(file)
  }
}

JayC 提供的链接也有 readAsBinary 和 readAsDataURL 的示例。