将图片从 facebook messenger url 上传到 aws s3
Upload image from facebook messenger url to aws s3
以下情况:用户向 facebook messenger 发送了一张图片,facebook 提供了一个 url 看起来像这样
我将这个 url 存储在一个名为 url 的变量中。现在我想将该图像上传到我的 AWS S3:
import boto
import os
AWS_ACCESS_KEY_ID = ‘somekey’
AWS_SECRET_ACCESS_KEY = 'somesecret'
END_POINT = 'us-east-1'
S3_HOST = 's3.us-east-1.amazonaws.com'
BUCKET_NAME = 'somestorage'
def upload_s3(url):
fname = url
uploaded_fname = 'somename'
s3 = boto.s3.connect_to_region(END_POINT,
aws_access_key_id=AWS_ACCESS_KEY_ID,
aws_secret_access_key=AWS_SECRET_ACCESS_KEY,
host=S3_HOST)
bucket = s3.get_bucket(BUCKET_NAME)
k = Key(bucket)
k.key = uploaded_fname
k.set_contents_from_filename(fname)
但是,像这样 Python 向我抛出一个关于 url 没有这样的文件或目录的错误。怎么走?
按照@jordanm 的建议,将文件下载到 django 项目静态文件夹,从那里上传到 S3,然后删除文件,然后从静态工作。
以下情况:用户向 facebook messenger 发送了一张图片,facebook 提供了一个 url 看起来像这样
我将这个 url 存储在一个名为 url 的变量中。现在我想将该图像上传到我的 AWS S3:
import boto
import os
AWS_ACCESS_KEY_ID = ‘somekey’
AWS_SECRET_ACCESS_KEY = 'somesecret'
END_POINT = 'us-east-1'
S3_HOST = 's3.us-east-1.amazonaws.com'
BUCKET_NAME = 'somestorage'
def upload_s3(url):
fname = url
uploaded_fname = 'somename'
s3 = boto.s3.connect_to_region(END_POINT,
aws_access_key_id=AWS_ACCESS_KEY_ID,
aws_secret_access_key=AWS_SECRET_ACCESS_KEY,
host=S3_HOST)
bucket = s3.get_bucket(BUCKET_NAME)
k = Key(bucket)
k.key = uploaded_fname
k.set_contents_from_filename(fname)
但是,像这样 Python 向我抛出一个关于 url 没有这样的文件或目录的错误。怎么走?
按照@jordanm 的建议,将文件下载到 django 项目静态文件夹,从那里上传到 S3,然后删除文件,然后从静态工作。