您可以在Web浏览器中使用JavaScript引擎来处理本地文件吗?

时间:2008-09-03 04:38:35

标签: javascript

我有许多用户需要处理多兆字节文件才能上传。我试图找到一种方法来做到这一点,而无需在他们的机器上安装任何可执行软件。

如果每台机器都附带了Python,那将很容易。我可以让Python脚本做任何事情。我能想到的唯一一种脚本语言就是JavaScript。但是我知道有一些安全限制阻止从Web浏览器读取和写入本地文件。

有没有办法将这种极为普遍的脚本语言用于通用计算任务?


编辑:为了澄清要求,这需要是一个跨平台的跨浏览器解决方案。我相信HTA是一种仅限Internet Explorer的技术(或者说Firefox的等价技术已被破坏)。

7 个答案:

答案 0 :(得分:2)

Google Gears会在这里工作吗?是的,用户必须安装一些东西,但我认为这种体验是相当无摩擦的。一旦安装完毕,不再担心。

答案 1 :(得分:0)

我为工作维护和开发的应用程序是HTML ApplicationHTA,与SQL Server 2005后端链接。这允许“避免”各种安全限制。应用程序中的所有客户端组件都使用javascript完成,包括将文件写入本地映射的网络驱动器以及以AJAXy方式将数据加载到屏幕/页面中。

也许HTA可能对你的情况有所帮助。

答案 2 :(得分:0)

有关javascript访问本地文件的示例,您可以尝试查看TiddlyWiki的来源,特别是saveFile,mozillaSaveFile和ieSaveFile函数。只需单击下载链接,打开它发送给您的html文件,然后搜索这些功能。

当然,tiddlywiki应该被用作本地文件,而不是通过网络提供,因此它使用的方法可能只在本地工作..但它可能是一个开始。

答案 3 :(得分:0)

为什么不使用flash上​​传器?
http://swfupload.org/

答案 4 :(得分:0)

Adob​​e Flex 4允许您在本地计算机上打开和处理文件:  http://livedocs.adobe.com/flex/3/langref/flash/net/FileReference.html#load()

这不完全是JavaScript,但希望有所帮助。

答案 5 :(得分:0)

我相信您可以使用HTML5 File API完成此操作。

Opera,IE,Safari,Firefox和Chrome都支持它。

答案 6 :(得分:0)

如今,您可以使用fs中的nodeJS模块来处理文件系统!