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 完成这项工作。
- 如果不需要那么大的文件,可以缩小图片
先在客户端设置大小,然后再传给服务器。
我正在尝试 upload images
(平均大小 12 MB)到我的服务器(使用 PIL 的 django),然后我正在处理它们以缩小图像并创建缩略图。
在此过程中,我没有将图像保存到服务器本地磁盘,而是使用 In Memory file
并对其进行处理。我正在使用 boto 将图像上传到 s3,我有原始图像、缩放图像和缩略图,应该一张一张上传(所有这三个仍然存在于我的内存中)。
这个过程非常耗时,有时我使用的服务器(Digital Ocean 512 MB RAM)会抛出内存不足错误。
请问有没有更好的上传图片的方法
非常感谢任何帮助。提前致谢。
我对 django 和 boto 的工作不多,但你可以尝试一些建议:
- 升级您的服务器。如果你要处理那么大的文件,图像处理需要大量的内存。
- 您可以尝试实施队列(即无论何时您将获得任何上传 请求和文件更大然后将其入队并在当前之后处理 过程完成)。您可以使用 celery 完成这项工作。
- 如果不需要那么大的文件,可以缩小图片 先在客户端设置大小,然后再传给服务器。