Javascript 如何将本地文本文件上载到文本区域(网页内)
我是一个新手程序员,需要一些帮助,了解如何将本地文本文件上传到我正在构建的网站内的文本区域。我非常精通HTML/CSS,对Javascript/JQuery有相当的了解,我正在学习PHP。如果你能给我任何帮助,我将不胜感激。我有一个type=“file”和name=“file”的输入,还有一个类为“.textbox”的textarea,还有一个运行函数“Upload()”的按钮。这是我网站的javascriptJavascript 如何将本地文本文件上载到文本区域(网页内),javascript,jquery,html,Javascript,Jquery,Html,我是一个新手程序员,需要一些帮助,了解如何将本地文本文件上传到我正在构建的网站内的文本区域。我非常精通HTML/CSS,对Javascript/JQuery有相当的了解,我正在学习PHP。如果你能给我任何帮助,我将不胜感激。我有一个type=“file”和name=“file”的输入,还有一个类为“.textbox”的textarea,还有一个运行函数“Upload()”的按钮。这是我网站的javascript var localfile = $("input[name=textfile]").
var localfile = $("input[name=textfile]").val();
function Upload(){
$(".textbox").append(file);
}
提前谢谢 我想这会很好 使用iframe上传文件,这会给你一个类似ajax的用户体验,Gmail就是这么做的 然后使用php读取文件的内容 然后通过ajax将内容发送回,然后使用js将其附加到textarea
这有意义吗?实现FileReader的现代浏览器可以做到这一点。要测试浏览器,请检查是否定义了window.FileReader 这是我几天前写的一些代码,就是为了实现这一点。在我的例子中,我只是简单地将一个文件拖到HTML元素上,该元素在这里被引用为panel.in1,但您也可以使用它(参见下面的引用) 它是reader.onloadend函数,用于获取在事件处理程序中恢复为this.result的文件文本 我从MDN获得了关于如何实现这一点的大部分机制: 这段代码展示了读取文件的基础知识,文件本身被拖入文本区域,我认为这是一个比必须通过选择文件机制更好的界面,但是这些机制同样适用于选择要读取的文件
这是我对类似问题的回答:更正输入的名称是“textfile”“Upload”?你是说下载吗?我可能会在后端(PHP)上这样做,因为如果你在前端这样做,它需要浏览器支持HTML5文件API。长话短说,您可以通过表单上传文件,然后让表单处理程序对其进行解析,然后在视图中显示文件内容。查看下面一些非常基本的文件处理示例:理论-1到使用Flash:完全不合适的解决方案。@ŠimeVidas我只是基于OP似乎对JS如何处理文件没有很好的把握这一事实提出了这个建议#你不是gmail在做什么。如果你不知道,我很抱歉。我见过Gmail使用iframe上传文件,因为ajax不支持多部分/表单数据,无法为用户提供动态ajax体验。不确定当前的gmail版本。不再使用..Ajax支持多部分/表单数据。在发布更多关于这个话题的答案之前,也许你应该花些时间更新你的知识。真的谢谢。这是我在网上读到的。我没有像你这样的传奇来教我。我试着帮忙。我不会在这个网站上再这样做;)
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);
}