python 使用阿里的OSS上传文件并获取url并post给业务服务器

代码注释详细

参考文档

阿里云OSS文档 https://help.aliyun.com/document_detail/32026.html?spm=5176.87240.400427.48.hkgD7h

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 17/9/21 上午9:50
# @Author  : lee
# @File    : alioss.py
# @Version : 1.0
# 说明: code后有'#'是测试时加的或者需要修改的code
# 用法:
# 参考文档 阿里云OSS文档 https://help.aliyun.com/document_detail/32026.html?spm=5176.87240.400427.48.hkgD7h

import requests
import oss2  # oss2包 连接阿里云OSS的工具
import time
auth = oss2.Auth('xxx', 'xxx') #详见文档
endpoint = 'http://oss-cn-beijing.aliyuncs.com' #  地址
bucket = oss2.Bucket(auth, endpoint, 'xxxxFDnjet') # 项目名称


# 下边的方法是 我
def post_jpg():
    result = bucket.put_object_from_file('xxx.jpg','/xx/xxxx.jpg')  # 括号内 左边是上传后的文件名,右边是当前系统的文件地址
  
    print('http status: {0}'.format(result.status))  # 打印上传的返回值 200成功
    jpg_url = bucket.sign_url('GET','Zabbix_Graph.jpg',60) #阿里返回一个关于Zabbix_Graph.jpg的url地址 60是链接60秒有效

    time.sleep(1)
#将返回的url POST发送给服务器
    url = "http://172.18.66.40:8080/test/=bwK7B"  # PST的地址
    data = {                # 请求的数据包
        "url":jpg_url,
        "text":"test",
    }
    header =  {                 # 请求头
         "Content-Type: application/json"
    }

    req = requests.post(url,data,header)  # 发出请求
    print(req.text)  # 打印请求结果

post_jpg()

你可能感兴趣的:(python 使用阿里的OSS上传文件并获取url并post给业务服务器)