使用boto将图片上传到S3

4 投票
2 回答
4449 浏览
提问于 2025-04-16 07:15

这里我有一个图片的链接,文件名就是这个图片的链接。

def upload(filename, content)
    conn = S3Connection(aws_access_key, aws_secret_key)
    b = Bucket(conn, bucket_name)
    k = Key(b)
    k.key = filename..split('/')[::-1][0]
    k.set_metadata("Content-Type", 'images/jpeg')
    k.set_contents_from_string(content)
    k.set_acl("public-read")

它把东西上传到S3上,但出现了一个错误:

/tmp/t.jpeg 无法打开,因为相关的辅助应用程序不存在。请在你的设置中更改关联。

2 个回答

2
k.key = filename..split('/')[::-1][0]

这一行有一些语法错误。把 .. 替换成 .

检查一下你要读取的图片文件的权限。从错误信息来看,似乎是你或者你的程序没有权限去读取这个文件。

5

我很确定“images/jpeg”是个打字错误。正确的类型应该是:

image/jpeg

撰写回答