Django:使用boto将文件上传到s3

Gov*_*ngh 6 django image-processing amazon-s3 boto

我正在尝试upload images(平均大小12 MB)到我的服务器(使用PIL的django)然后我正在处理它们以缩小图像和创建缩略图.

在此过程中,我不是将图像保存到服务器本地磁盘,而是使用In Memory file和处理它.我正在使用boto将图像上传到s3,我有原始图像,缩放图像和应该逐个上传的缩略图(所有这三个仍然存在于我的内存中).

这个过程非常耗时,有时我使用的服务器(Digital Ocean 512 MB RAM)会引发内存不足错误.

我能否知道有没有更好的上传图片的方法

任何帮助深表感谢.提前致谢.

Shu*_*rma 1

我没有太多使用 django 和 boto,但你可以尝试一些建议:

  • 升级您的服务器。如果要处理那么多大文件,图像处理需要大量内存。
  • 您可以尝试实现队列(即,每当您收到任何上传请求并且文件较大时,请将其排队并在当前进程完成后进行处理)。您可以使用芹菜来完成这项工作。
  • 如果您不需要那么大的文件,那么您可以先在客户端减小图像大小,然后将其传递到服务器。