我想通过一个表单上传图像(JPG),然后将该图像发送到Rackspace“Cloud Files”或Amazon“S3”,不需要操作文件,所有内容都保存在内存中(我托管在云服务器上),图像大小不会超过75kb。
更新(两个注意事项):
1. 当数据从手机应用程序发布时,它还需要正常工作。 2. 它需要被发送到Rackspace Cloud Files以及S3(从CF开始)。
下面的代码可以工作,但太过沉重。
非常感谢,希望一切顺利...
d.
1. 当数据从手机应用程序发布时,它还需要正常工作。 2. 它需要被发送到Rackspace Cloud Files以及S3(从CF开始)。
下面的代码可以工作,但太过沉重。
import cloudfiles as cf
def uploadImage(request, id):
cf_con = cf.get_connection(username='YYY', api_key='XXX', serviceNet=True)
container = cf_con.get_container('container_name')
file = request.FILES["item_photo"]
f = StringIO(file.read())
f = Image.open(f)
### Only works if I resize for some reason, otherwise uploads a broken file
image = f.resize((600,600), Image.ANTIALIAS)
o = StringIO()
image.save(o, "JPEG", quality=80)
image = o.getvalue()
file_name = "%s/%s" % (id, '600x600.jpeg')
### This simply uploads to Rackspace Cloud files.
put_file(container, file_name, image)
非常感谢,希望一切顺利...
d.
file = request.FILES["item_photo"]
file_name = "%s/%s" % (id, '600x600.jpeg')
put_file(container, file_name, file)
但这对我不起作用。 - Danny