我正在开发一个基于python3和Flask(http://flask.pocoo.org)的Web应用程序。
我需要用户上传较大的TXT / CSV文件(直到5-10GB),稍后再在服务器端进行分析。 由于时间过长,使用率过高等原因,我尝试了不同的解决方案,因此我发现了这个pako JS扩展名(https://github.com/nodeca/pako)基本上可以压缩文件,然后再上传到浏览器中。
我设法使其能够在我的应用程序上运行,但是管道变得非常复杂,因为它要求浏览器先读取文件,然后将其分成不同的部分,以二进制格式转换每个块,然后使用pako deflate压缩它们( {to:string})。 然后,用这些压缩的块填充字典,最后将其写到一个文本文件中,该文件随后可以从服务器端的另一个网页访问,循环,解压缩每个块并最终重新转换为纯文本,并将其写成原始副本用户上传目录中的文本文件。
我也可以显示代码,但是它非常复杂,拼接在4个不同的页面上,并带有许多用于操作任务的按钮。
尽管如此,该解决方案并没有带来我希望的改进,因为TXT转换文件(我在其中编写了压缩块字典)与原始文件一样大。
我了解到我可能会使过程复杂化,但是我无法使pako.js以其他方式工作。
我还搜索了不同的解决方案,但没有发现任何似乎很适合该工作的东西。
如果有人可以为此类问题指出一个易于实施的解决方案,那将非常有帮助。
有人有什么建议吗?或者其他可以很好地与TXT / CSV文件上传配合使用的方法。
非常感谢您的帮助