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

时间:2017-03-25 07:48:41

标签: django image-processing amazon-s3 boto

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

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

此过程非常耗时,有时我使用的服务器(Digital Ocean 512 MB RAM)会导致内存不足错误。

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

非常感谢任何帮助。提前谢谢。

1 个答案:

答案 0 :(得分:1)

我还没有和django&但是你可以尝试一些建议:

  • 升级您的服务器。如果您要处理那么多大文件,图像处理需要大量内存。
  • 您可以尝试实施队列(即每当您上传任何内容时) 请求和文件更大然后排队并在当前后处理 过程完成)。您可以使用celery进行此项工作。
  • 如果您不需要那么多大文件,那么您可以减少图像 首先是客户端的大小,然后将其传递给服务器。