我正在开发一个使用meteorjs的网络平台,这将允许我将多个文本/普通文件(如.txt和.csv文件)上传到我的亚马逊S3存储桶。
目前我的平台支持多个文件上传,通过使用for循环和meteor-slingshot按顺序上传它们直接上传到我的s3。
我正在尝试做什么:
我需要在上传到S3之前将文件合并到一个最终文件中,这样我就可以上传一个文件而不是上传多个文件(文件必须合并为一个文件)。
我的想法:
我已经考虑过将文件上传到我自己的服务器,然后再将它们上传到S3,然后在linux中使用类似cat file1.txt file2.txt > merged_file.txt
的东西来合并它们并以某种方式检索这个文件,但它会需要更长时间,因为我们需要将文件上传到我的服务器,然后将合并的文件上传到S3存储桶。
使用来自节点的fs.appendFile
来合并文件,但我不知道它是否可行,因为文件最多可达20 / 25mb,并且需要一些时间来阅读他们并附上信息。
我认为javascript不太可能直接处理这个问题,这就是为什么我因为nodejs核心而在sh命令或c ++中思考。
你能推荐我一个更好的方法吗?
有没有更好的方法来处理这个过程?
答案 0 :(得分:0)
你可以在shell中轻松完成。
var st
我还想说你可能会考虑将它们作为小文件上传,然后启动一个aws实例将它们拉下来,合并它们并重新上传它们。这样你就不会丢失原件而且你可以自动完成整个过程。