阿里云oss图片上传之后无法预览问题
python 上传图片到阿里云oss
下面是相关代码:
def upload_image(image, image_type):
local_image_name = image_type + '/' + create_random_str() + '.jpg'
online_image_name = 'https://' + OSS_BUCKET_NAME + '.' + OSS_END_POINT + local_image_name
auth = oss2.Auth(OSS_ACCESS_KEY_ID, OSS_ACCESS_KEY_SECRET)
bucket = oss2.Bucket(auth, OSS_END_POINT, OSS_BUCKET_NAME)
result = bucket.put_object(local_image_name, image)
if result.status == 200:
return online_image_name
return False
这样能正常上传图片到oss上,但发现如果直接点击oss里的图片链接,浏览器会默认以下载的方式打开,经查证是因为去年开始阿里云对使用oss域名访问图片做了整改,文件如下
因此,我们只需要将在上传图片的时候加上header信息即可
result = bucket.put_object(local_image_name, image, headers={'Content-Type': 'image/jpg'})