JavaScript 用于将云存储轻松集成到编辑器中的库
JavaScript library for easy integration of cloud storage into an editor
我正在制作一个 仅客户端 网络应用程序,它是一种特定类型的文字处理器,因此用户将需要 save/load 个文件。我希望添加一个流行的云存储选项(例如,Dropbox、Drive),它应该提供这些特定功能:
- 打开:让用户浏览他们的云驱动器并选择要打开的文件,然后将文件的内容和元数据提供给应用程序。
- 另存为...:让用户浏览他们的云存储并选择文件夹和文件名,然后从应用程序中获取文件内容和元数据并将其存储在那里。
- 保存:不打开用户云存储的对话框;只需从应用程序中获取更新的文件内容和元数据并将它们保存在与上次相同的位置。
不需要提供文件管理服务,因为用户可以使用云存储的主网站UI来做这些事情。
主要问题:是否有 simple/efficient 解决此问题的方法? 我希望编写和维护的代码尽可能少。现有的库会很棒,但其他简单的解决方法也是可以接受的。
发帖前调查过的内容:
- 我目前使用的 a library I wrote 仅用于浏览器内存储,我可以做大量工作来扩展它以支持云 API,但我希望有更简单的方法。
- Dropbox 提供Chooser and Saver超级好用,但只满足需求1和2,不满足需求3。
- Kloudless 似乎是一个很棒的跨服务平台,但我认为它也只能处理要求 1 和 2,而不是 3。
- Dropbox 也提供了一个full API,但它不提供对话框;您必须自己创建文件浏览 UI。 Google 驱动器也是如此。
- 存在一个 ton of other client-side libraries 用于显示漂亮的文件浏览器对话框,但其中大多数处理所有 AJAX 到服务器的事件。我的应用程序仅限客户端。
我最终得到的解决方案
我最终创建了自己的工具包来解决这个问题 (on GitHub here)。目前仅支持两种存储后端:
- 浏览器内本地存储
- 云中的 Dropbox
它被设计为易于添加其他云存储提供商,因此欢迎拉取请求来帮助扩展它。
Kloudless 呢?
我测试了 Kloudless 并确认它比我想象的要多,但仍然不够。
- 除"Save as...,"外还支持"Save"如one developer explains here。
- 它不允许客户端将数据作为数据 URI 发送,但要求数据已经存在于 Internet 上的预定义 URL 中。所以完全客户端编辑器应用程序不能使用 Kloudless,因此不能解决我的问题。
我正在制作一个 仅客户端 网络应用程序,它是一种特定类型的文字处理器,因此用户将需要 save/load 个文件。我希望添加一个流行的云存储选项(例如,Dropbox、Drive),它应该提供这些特定功能:
- 打开:让用户浏览他们的云驱动器并选择要打开的文件,然后将文件的内容和元数据提供给应用程序。
- 另存为...:让用户浏览他们的云存储并选择文件夹和文件名,然后从应用程序中获取文件内容和元数据并将其存储在那里。
- 保存:不打开用户云存储的对话框;只需从应用程序中获取更新的文件内容和元数据并将它们保存在与上次相同的位置。
不需要提供文件管理服务,因为用户可以使用云存储的主网站UI来做这些事情。
主要问题:是否有 simple/efficient 解决此问题的方法? 我希望编写和维护的代码尽可能少。现有的库会很棒,但其他简单的解决方法也是可以接受的。
发帖前调查过的内容:
- 我目前使用的 a library I wrote 仅用于浏览器内存储,我可以做大量工作来扩展它以支持云 API,但我希望有更简单的方法。
- Dropbox 提供Chooser and Saver超级好用,但只满足需求1和2,不满足需求3。
- Kloudless 似乎是一个很棒的跨服务平台,但我认为它也只能处理要求 1 和 2,而不是 3。
- Dropbox 也提供了一个full API,但它不提供对话框;您必须自己创建文件浏览 UI。 Google 驱动器也是如此。
- 存在一个 ton of other client-side libraries 用于显示漂亮的文件浏览器对话框,但其中大多数处理所有 AJAX 到服务器的事件。我的应用程序仅限客户端。
我最终得到的解决方案
我最终创建了自己的工具包来解决这个问题 (on GitHub here)。目前仅支持两种存储后端:
- 浏览器内本地存储
- 云中的 Dropbox
它被设计为易于添加其他云存储提供商,因此欢迎拉取请求来帮助扩展它。
Kloudless 呢?
我测试了 Kloudless 并确认它比我想象的要多,但仍然不够。
- 除"Save as...,"外还支持"Save"如one developer explains here。
- 它不允许客户端将数据作为数据 URI 发送,但要求数据已经存在于 Internet 上的预定义 URL 中。所以完全客户端编辑器应用程序不能使用 Kloudless,因此不能解决我的问题。