如何使用django + react高效处理大型文件上传?

时间:2017-06-01 15:33:07

标签: javascript python django reactjs file-upload

我有一个带有React前端的Django应用程序,需要在远程计算机上上传从React中选择的多GB文件(大约8-12gb)。

目前我正在使用一个简单的表单并通过fetch在文件中使用formData上传文件然后从请求中读取它们.FILES,但是我对这个解决方案不是很满意,因为它需要一分钟以上甚至从同一台计算机上传文件到自己(我不完全确定为什么)。

有没有办法加快这个过程?这个生产环境是千兆本地网络,没有任何外部互联网访问,所以请不要存储云存储。

这些数据似乎是相当可压缩的,在拉链/去皮时,它的尺寸很容易减少30%。

有没有办法在文件上传过程中进行压缩,或者我可以在任何一端更改任何参数以加快进程?

从同一台计算机上传到自身似乎不需要花费一分钟的8 GB文件,理论上理论上应该比千兆网络更快。我该如何简化这个?

如果我可以在前端创建一个进度条,那会很好但是fetch当前不允许这样做,但是如果另一种方法对文件上传有帮助,碰巧有办法监视文件上传的进度,请提一下。

React 15.4,Django 1.10,Python 3.5大量内存,许多CPU核心,甚至服务器,GPU(如果有人有一些奇怪的想法使用CUDA进行解压缩或者其他东西虽然我从来没有听说过这样的如果有某种并行化可以帮助使连接饱和,那么它是可用的。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用此程序包OUTPUT

你必须使用在XMLHttpRequest上调用的处理程序