【发布时间】:2010-10-02 03:11:35
【问题描述】:
我正在编写一个 JavaScript 应用程序,它应该允许用户在他/她的 PC 中加载和保存文件。为此,我需要一个基本服务器,仅用于在客户端和服务器之间回显加载和保存的文件,因为 JavaScript 无法直接访问文件。
解决这个问题最轻量级的方法是什么?
【问题讨论】:
我正在编写一个 JavaScript 应用程序,它应该允许用户在他/她的 PC 中加载和保存文件。为此,我需要一个基本服务器,仅用于在客户端和服务器之间回显加载和保存的文件,因为 JavaScript 无法直接访问文件。
解决这个问题最轻量级的方法是什么?
【问题讨论】:
这取决于您使用的服务器端语言。对于 PHP,this answer 可以很好地概述上传部分所需的内容。
要下载文件,您只需要一个带有文件名并写入文件内容的页面(从您上传文件时保存的任何路径获取)。
【讨论】:
这是您打算以某种方式安装在客户端 PC 上的服务器?我对这项技术并不十分熟悉,但听起来这正是浏览器极力阻止的那种能力——来自一个域的代码在另一个域上执行状态更改功能。
您能否将数据保存在您的服务器上,然后自动进行文件传输?
或者,如果这是一个独立的 javascript 应用程序,您想在不使用网络的情况下在浏览器中运行,请查看 Adobe 的 Flash/Flex 以及 AIR 库;这是为了做你所说的。 (注意:Actionscript 是 javascript 的严格超集。)
【讨论】:
您是否正在寻找一个轻量级的网络服务器?在这种情况下,thttpd 之类的内容将是合适的。它非常容易编译,所需的配置很少。
另一个更灵活的选择是 twisted,“用 Python 编写的事件驱动的网络引擎”。我想,你基本上可以相当可靠/稳健地按照这些思路编写任何东西。 This tutorial 可能是一个好的开始。
与许多事情一样,最简单的解决方案通常是最好的。如果您可以将文件传输到“愚蠢的”辅助网络服务器,并将它们作为常规文件检索,那么它可能比实现自己的服务器更好Python/twisted(或类似)中的解决方案
【讨论】: