javascript - 如何将本地文本文件上传到文本区域(网页内)

标签 javascript jquery html

我是一名新手程序员,需要一些帮助来弄清楚如何将本地文本文件上传到我正在构建的网站内的文本区域。我的 HTML/CSS 非常流利,我对 Javascript/JQuery 有一定的了解,而且我只是在学习 PHP。如果您能提供任何帮助,我将不胜感激。我有一个 type="file"和 name="file"的输入,我有一个类为“.textbox”的文本区域,我有一个运行函数“Upload()”的按钮 这是我的 javascript网站。

var localfile = $("input[name=textfile]").val();

function Upload(){
  $(".textbox").append(file);
}

提前致谢!

最佳答案

实现 FileReader 的现代浏览器可以做到这一点。要测试您的浏览器,请检查是否定义了 window.FileReader。

这是我几天前写的一些代码来做到这一点。在我的例子中,我只是将一个文件拖到此处引用为 panel.in1 的 HTML 元素上,但您也可以使用(参见下面的引用)。

if (window.FileReader) {
  function dragEvent (ev) {
    ev.stopPropagation (); 
    ev.preventDefault ();
    if (ev.type == 'drop') {
      var reader = new FileReader ();
      reader.onloadend = function (ev) { panel.in1.value += this.result; };
      reader.readAsText (ev.dataTransfer.files[0]);
    }  
  }

  panel.in1.addEventListener ('dragenter', dragEvent, false);
  panel.in1.addEventListener ('dragover', dragEvent, false);
  panel.in1.addEventListener ('drop', dragEvent, false);
}

它是 reader.onloadend 函数,它获取您在事件处理程序中恢复的文件的文本作为 this.result。

我从 MDN 获得了大部分关于如何执行此操作的机制:https://developer.mozilla.org/en-US/docs/Using_files_from_web_applications

这段代码展示了读取文件的基础知识,文件本身被拖到文本区域,我认为这是一个更好的界面,而不是必须通过选择文件机制,但那些选择文件的效果同样好阅读。

这是我对类似问题的回答:Get text file content using javascript

关于javascript - 如何将本地文本文件上传到文本区域(网页内),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17204090/

相关文章:

javascript - 如何在 PHP 端使用 $.get "Additional Data"

javascript - jQuery - 如果 DIV 类等于 X,则隐藏所有其他具有不同类的 DIV

html - 如何使大于容器的文本居中?

javascript - JQuery .clone() 和 .appendTo() 导致多次追加

javascript - 绑定(bind)功能如何以及何时起作用?

javascript - 有没有办法在其他功能之前执行更新面板的更新

javascript - 在脚本中编写 ejs 给了我错误 'Expression expected'

javascript - 如何在每个复选框后获得四个以下文本输入?

html - 如何在 css 中调整图像传单链接的大小

javascript - 指向按钮 CSS 的弹出窗口