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

Django: File upload to s3 using boto

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

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

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

请问有没有更好的上传图片的方法

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

我对 django 和 boto 的工作不多,但你可以尝试一些建议:

  • 升级您的服务器。如果你要处理那么大的文件,图像处理需要大量的内存。
  • 您可以尝试实施队列(即无论何时您将获得任何上传 请求和文件更大然后将其入队并在当前之后处理 过程完成)。您可以使用 celery 完成这项工作。
  • 如果不需要那么大的文件,可以缩小图片 先在客户端设置大小,然后再传给服务器。