美文网首页
python 上传图片到阿里OSS图片储存服务器

python 上传图片到阿里OSS图片储存服务器

作者: 程序里的小仙女 | 来源:发表于2020-11-26 11:05 被阅读0次

1.公司业务需求:将图片上传到oss,并且返回固定的图片路径:

利用的uuid來保證不id重複:
例如:
/2020-11-05/1c62c18b-88d3-41d3-a6b1-d9046b8a4e94.jpg
http://oss.fapaifang.top/house/2020-11-12/4168e149-2983-42a0-be99-ee83e5bcfeca.jpg

2.源码如下:

# -*- coding: utf-8 -*-
"""
 @Time   : 2020/10/29 9:54
 @Athor   : LinXiao
 @功能   :
"""
# ------------------------------
import datetime
import io
import uuid
import requests
import oss2

# 储存的路径
# filePath="/house/2020-10-29/xxxx.jpg"  # xxxxx 为随机uuid,防止重复
# # 指定Bucket实例,所有文件相关的方法都需要通过Bucket实例来调用。
# bucket=oss2.Bucket(oss2.Auth(access_key_id, access_key_secret), endpoint, bucket_name)

# 连接oss
def oss_parser(img, imageName, dirpath):
    endpoint='http://oss-cn-chengdu.aliyuncs.com'   # 在哪个城市就选那个城市的oss-cn
    access_key_id='LTAI4FzinZ***********'
    access_key_secret='x97sjRShDyn********Y1U8tPX'
    bucket_name='fzp-**********rm'
    # 指定Bucket实例,所有文件相关的方法都需要通过Bucket实例来调用。
    bucket=oss2.Bucket(oss2.Auth(access_key_id, access_key_secret), endpoint, bucket_name)
    result=bucket.put_object(f'{dirpath}/{imageName}', img.getvalue())
    # print('图片上传oss success!')
    return result.status

# 上床成功并返回图片的链接
def oss_deal_pic(url):
    # 测试的阿里云oss储存路径,正式的为house
    dirpath='house'
    domain='http://oss.fapai*****fang.top****************/'
    now=datetime.datetime.now()
    nonce=str(uuid.uuid4())
    random_name=now.strftime("%Y-%m-%d") + "/" + nonce
    imageName='{}.jpg'.format(random_name)

    img=io.BytesIO(requests.get(url, timeout=300).content)
    statusCode=oss_parser(img, imageName, dirpath)
    if statusCode == 200:
        new_oss_url=domain + dirpath + '/' + imageName
        # new_oss_url= '/' + imageName
        # print(new_oss_url)
        # print(type(new_oss_url))   # <class 'str'>
        return new_oss_url


if __name__ == '__main__':
    # url='https://img.alicdn.com/bao/uploaded/i3/TB1LMGLiP39YK4jSZPctrBrUFXa_460x460.jpg'
    url='https://img.alicdn.com/bao/uploaded/i4/O1CN01CW2jEc1pOLaFef85M_!!0-paimai.jpg_460x460.jpg'

    oss_deal_pic(url)
    print(len("http://oss.fapaifang.top/house-test/2020-10-29/a12e11c9-d965-448b-b323-eb743d7ad327.jpg")) # 87的长度
    print(len("/2020-10-29/a12e11c9-d965-448b-b323-eb743d7ad327.jpg")) # 87的长度
    # 所以这里mysql的pic的字段的设置的默认长度应该是90x5 450个长度

相关文章

  • python 上传图片到阿里OSS图片储存服务器

    1.公司业务需求:将图片上传到oss,并且返回固定的图片路径: 利用的uuid來保證不id重複:例如:/2020-...

  • pyinstaller 出现OSError:Cannot loa

    使用阿里云储存对象OSS的SDK工具上传图片到阿里云bucket里面,用Pyinstaller打包后,运行出错,提...

  • 五.SpringBoot文件上传

    三种上传方式直接上传到应用服务器云储存---上传到OSS(阿里云)、七牛云前端将图片转成Base64编码上传(适用...

  • egg上传图片到阿里云oss

    因为项目需求考虑到图片储存在服务器上过多的话会对服务器带来压力,所以讲图片存在阿里云oss上,网上找了下,综合网上...

  • Android OSS上传图片到阿里云

    Android OSS上传图片到阿里云 我所采取的上传方式为异步上传,如果需要多张图片的话,可以直接循环上传就可...

  • 阿里云(I)

    参考资料:iOS 阿里云服务器图片上传iOS录制(或选择)视频,压缩、上传(整理)视频 拍摄 与压缩 阿里云OSS...

  • 微信小程序上传图片到阿里OSS

    记录微信小程序上传图片到阿里OSS; 一. 数据准备: 1. 阿里OSS提供的bucket、key以及acce...

  • Android OSS阿里图片上传

    一 、阿里的官方文档 阿里的官方文档 二、Android图片上传的流程 + OSS 选择图片 压缩图片 构建阿里上...

  • OSS  上传图片错误码 403

    使用OSS上传图片到阿里云时,报错误码403,提示:The OSS Access Key Id you provi...

  • 基于springboot的文件上传

    文件上传方式 直接上传到应用服务器 上传到oss(阿里云,七牛云) 前端将图片转成Base64编码上传 上传服务器...

网友评论

      本文标题:python 上传图片到阿里OSS图片储存服务器

      本文链接:https://www.haomeiwen.com/subject/xseaiktx.html