在将文件上传到Amazon S3之前处理和合并文件

时间:2016-09-01 16:54:46

标签: meteor file-upload amazon-s3 merge meteor-slingshot

我正在开发一个使用meteorjs的网络平台,这将允许我将多个文本/普通文件(如.txt和.csv文件)上传到我的亚马逊S3存储桶。

目前我的平台支持多个文件上传,通过使用for循环和meteor-slingshot按顺序上传它们直接上传到我的s3。

我正在尝试做什么:
我需要在上传到S3之前将文件合并到一个最终文件中,这样我就可以上传一个文件而不是上传多个文件(文件必须合并为一个文件)。

我的想法:

  1. 我已经考虑过将文件上传到我自己的服务器,然后再将它们上传到S3,然后在linux中使用类似cat file1.txt file2.txt > merged_file.txt的东西来合并它们并以某种方式检索这个文件,但它会需要更长时间,因为我们需要将文件上传到我的服务器,然后将合并的文件上传到S3存储桶。

  2. 使用来自节点的fs.appendFile来合并文件,但我不知道它是否可行,因为文件最多可达20 / 25mb,并且需要一些时间来阅读他们并附上信息。

  3. 我认为javascript不太可能直接处理这个问题,这就是为什么我因为nodejs核心而在sh命令或c ++中思考。

    你能推荐我一个更好的方法吗?
    有没有更好的方法来处理这个过程?

1 个答案:

答案 0 :(得分:0)

你可以在shell中轻松完成。

var st

我还想说你可能会考虑将它们作为小文件上传,然后启动一个aws实例将它们拉下来,合并它们并重新上传它们。这样你就不会丢失原件而且你可以自动完成整个过程。