【问题标题】:How do I unzip a file from memory (not a disk file) in Meteor?如何在 Meteor 中从内存(不是磁盘文件)中解压缩文件?
【发布时间】:2015-07-02 16:34:07
【问题描述】:

我试图在 Meteor 中实现的事件顺序是:

  1. 在客户端浏览器上,上传一个 zip 文件并发送到服务器
  2. 在服务器上,接收 zip 文件并将其保存在内存对象中
  3. 将内存对象解压缩为代表内容的单个对象
  4. 一次处理一个文件
  5. 向客户端返回成功/失败状态

我有第 1 步和第 2 步工作,使用 EJSON 在客户端对 zip 文件的内容进行字符串化,并再次将其转换回服务器上的原始格式。我遇到的问题是当我尝试在服务器上解压缩对象时。似乎每个可用的解压缩库都希望直接对文件或流进行操作,而不是对内存对象进行操作。

我想我可以将对象写入磁盘并再次读取它,但这似乎是一个不必要的步骤。是否有可用于解压缩内存对象的库?或者,有没有办法直接从对象创建一个流,然后我可以将其提供给解压缩例程?

任何建议将不胜感激。

【问题讨论】:

    标签: file-upload meteor stream zip


    【解决方案1】:

    您可以使用 npm 中的 unzip 模块。它接受流式输入并允许您处理输出而不保存到磁盘。

    需要一些工作才能将其包装以与流星一起使用。您的两个选择是meteorhacks:npm 软件包或升级到 Meteor 1.3 测试版。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-28
      • 2020-09-25
      • 2022-01-15
      相关资源
      最近更新 更多