JavaScript库,可轻松将云存储集成到编辑器中

时间:2017-09-02 18:30:53

标签: javascript html5 editor cloud-storage

我正在创建一个仅客户端 Web应用程序,它是一种特定类型的文字处理程序,因此用户需要保存/加载文件。我想添加一个流行的云存储选项(例如Dropbox,Drive),它应该提供以下特定功能:

  1. 打开:让用户浏览他们的云端硬盘并选择要打开的文件,然后向应用程序提供文件的内容和元数据。
  2. 另存为...:让用户浏览他们的云存储并选择文件夹和文件名,然后从应用程序中获取文件内容和元数据并将其存储在那里。
  3. 保存:打开用户云存储的对话框;只需从应用程序中获取更新的文件内容和元数据,并将它们保存在与上次相同的位置。
  4. 不需要提供文件管理服务,因为用户可以使用云存储的主Web UI进行此类操作。

    主要问题:有没有一种简单/有效的方法来解决这个问题?我希望编写和维护尽可能少的代码。现有的库会很棒,但其他简单的解决方法也是可以接受的。

    我在发布之前已经调查过:

    1. 我目前正在使用仅用于浏览器内存储的a library I wrote,我可以做一些工作来扩展它以支持云API,但我希望有一种更简单的方法。
    2. Dropbox提供的ChooserSaver非常易于使用,但只满足要求1和2,而不是3。
    3. Kloudless似乎是一个很好的跨服务平台,但我认为它也只处理要求1和2,而不是3。
    4. Dropbox还提供full API,但它不提供对话框;你必须自己创建文件浏览UI。 Google云端硬盘也是如此。
    5. 存在ton of other client-side libraries用于显示漂亮的文件浏览器对话框,但大多数都使用AJAX处理服务器的所有事件。我的应用只是客户端。

1 个答案:

答案 0 :(得分:0)

最终解决方案

我最终创建了自己的工具包来解决这个问题(on GitHub here)。它目前仅支持两个存储后端:

  • 浏览器中的LocalStorage
  • 云端的Dropbox

它旨在轻松添加其他云存储提供商,因此欢迎提取请求以帮助扩展它。

Kloudless怎么样?

我测试了Kloudless并确认它比我想象的要多,但仍然不够。

  • 它支持" Save"除了"另存为...,"为one developer explains here
  • 它不允许客户端将数据作为数据URI发送,但要求数据已存在于Internet上的预定义URL中。因此,完全客户端编辑器应用程序无法使用Kloudless,因此无法解决我的问题。