I had the same problem, I use the following method to save the image
from boto.s3.key import Key
import urllib2
import StringIO
from django.conf import settings
def save_image_s3(self, img_url, img_name):
"""Saves the image in img_url into S3 with the name img_name"""
conn = boto.connect_s3(settings.AWS_ACCESS_KEY_ID, settings.AWS_SECRET_ACCESS_KEY)
bucket = conn.get_bucket(settings.AWS_STORAGE_BUCKET_NAME)
k = Key(bucket)
k.key = img_name
fp = StringIO.StringIO(urllib2.urlopen(img_url).read())
k.set_contents_from_file(fp)
return img_name