【发布时间】:2014-03-17 07:15:32
【问题描述】:
我从用户那里获取一个文本文件,然后使用 ajax 将该文件发布回浏览器,将内容存储在 db 中,然后使用 Jquery 发布响应将内容显示回用户页面。 现在我想要这样的东西..
使用 javascript 从用户计算机读取文本文件。显示内容,当他提交页面时,我将保存值。
【问题讨论】:
标签: javascript file
我从用户那里获取一个文本文件,然后使用 ajax 将该文件发布回浏览器,将内容存储在 db 中,然后使用 Jquery 发布响应将内容显示回用户页面。 现在我想要这样的东西..
使用 javascript 从用户计算机读取文本文件。显示内容,当他提交页面时,我将保存值。
【问题讨论】:
标签: javascript file
出于安全原因,不能在纯 JS 中完成。您需要让用户将文件上传到您的服务器,然后通过 Ajax 取回内容。
如果您使用 Flash 或 Java,您应该能够直接访问该文件。如果你说 Flash/Actionsript,也许 SWFUpload 的源代码(尤其是新的客户端调整大小功能)可以作为灵感。
更新:这篇博文应该会有所帮助。 Read and write local files with Flash Player 10
更新:要详细说明“上传和获取”的内容,如果您在IFRAME 中进行上传,您甚至可以让上传脚本简单地输出文本文件的内容。因为iframe 属于您的域,所以上传完成后,您将能够通过 JavaScript 检索其内容。只要您发送content-type: application/text,它就应该可以免受任何恶意攻击。
【讨论】:
如果您对 Firefox 3.6 支持没问题,请查看 https://developer.mozilla.org/en/Using_files_from_web_applications,否则您应该使用 Flash、Java 或 silverlight。
【讨论】:
input.files 数组部分也适用于 Firefox 3.5。
由于安全问题,您将无法读取用户计算机中的文件。
【讨论】:
使用现代浏览器中可用的新文件 API 可以在 javascript 中读取客户端文件。检查此站点及其代码:http://www.readfileonline.com/
但是,在用 javascript 读取文件内容之前,用户必须明确选择它允许读取的文件。这是该标准的一项安全功能。
【讨论】: