promotion/oss_api.py
2019-07-12 09:44:25 +08:00

50 lines
1.8 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# -*- coding: utf-8 -*-
# pip install -U cos-python-sdk-v5
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
from flask import Flask, jsonify, request
from flask_restful import reqparse, abort, Api, Resource
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
parser = reqparse.RequestParser()
parser.add_argument('filename')
parser.add_argument('body')
class Cos_sdk(Resource):
def __init__(self):
secret_id = 'AKIDGPMAQYuK1Xr198Eb9h7QYWOdWK0arLTP' # 替换为用户的 secretId
secret_key = 'sUBi3XrzvkpqiQwKcmmZEi2A7GH7lEMM' # 替换为用户的 secretKey
region = 'ap-beijing' # 替换为用户的 Region
token = None # 使用临时密钥需要传入 Token默认为空可不填
scheme = 'https' # 指定使用 http/https 协议来访问 COS默认为 https可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
# 2. 获取客户端对象
self.client = CosS3Client(config)
self.args = parser.parse_args()
self.bucket = "client-1256832210"
self.base_dirs = "/ad"
self.url = "https://resource.kingsome.cn"
def post(self):
# filename = self.args['filename']
# body = self.args['body']
try:
filename = request.files.get('image-file').filename
body = request.files.get('image-file').read()
except Exception as e:
return jsonify
{'code': 500, 'message': f'get filename={filename},body={body} ', 'error': e}
cos_filename = f"{self.base_dirs}/{filename}"
url = f"{self.url}/{cos_filename}"
response = self.client.put_object(Bucket=self.bucket, Body=body, Key=cos_filename, StorageClass='STANDARD',
EnableMD5=False)
print(response)
return jsonify({'code': 200, 'message': {'url': url, 'response': response}})