Created
September 12, 2013 07:26
-
-
Save ikbear/6533979 to your computer and use it in GitHub Desktop.
Qiniu Python SDK Demo
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- coding: utf-8 -*- | |
import os | |
import sys | |
import StringIO | |
# @gist import_io | |
import qiniu.io | |
# @endgist | |
import qiniu.conf | |
# @gist import_rs | |
import qiniu.rs | |
# @endgist | |
# @gist import_fop | |
import qiniu.fop | |
# @endgist | |
# @gist import_resumable_io | |
import qiniu.resumable_io as rio | |
# @endgist | |
# @gist import_rsf | |
import qiniu.rsf | |
# @endgist | |
bucket_name = None | |
uptoken = None | |
key = None | |
key2 = None | |
key3 = None | |
domain = None | |
pic_key = None | |
# ---------------------------------------------------------- | |
def setup(access_key, secret_key, bucketname, bucket_domain, pickey): | |
global bucket_name, uptoken, key, key2, domain, key3, pic_key | |
qiniu.conf.ACCESS_KEY = access_key | |
qiniu.conf.SECRET_KEY = secret_key | |
bucket_name = bucketname | |
domain = bucket_domain | |
pic_key = pickey | |
# @gist uptoken | |
policy = qiniu.rs.PutPolicy(bucket_name) | |
policy.returnBody = """{ | |
"name": "$(fname)", | |
"size": "$(fsize)", | |
"type": "$(mimeType)", | |
"hash": "$(etag)", | |
"w": "$(imageInfo.width)", | |
"h": "$(imageInfo.height)" | |
}""" | |
uptoken = policy.token() | |
# @endgist | |
key = "iphone.jpg" | |
def _setup(): | |
''' 根据环境变量配置信息 ''' | |
access_key = getenv("QINIU_ACCESS_KEY") | |
if access_key is None: | |
exit("请配置环境变量 QINIU_ACCESS_KEY") | |
secret_key = getenv("QINIU_SECRET_KEY") | |
bucket_name = getenv("QINIU_TEST_BUCKET") | |
domain = getenv("QINIU_TEST_DOMAIN") | |
pickey = 'QINIU_UNIT_TEST_PIC' | |
setup(access_key, secret_key, bucket_name, domain, pickey) | |
def getenv(name): | |
env = os.getenv(name) | |
if env is None: | |
sys.stderr.write("请配置环境变量 %s\n" % name) | |
exit(1) | |
return env | |
def put_file(): | |
''' 演示上传文件的过程 ''' | |
# 尝试删除 | |
qiniu.rs.Client().delete(bucket_name, key) | |
# @gist put_file | |
localfile = "iphone.jpg" | |
ret, err = qiniu.io.put_file(uptoken, key, localfile) | |
print ret | |
if err is not None: | |
sys.stderr.write('error: %s ' % err) | |
return | |
# @endgist | |
if __name__ == "__main__": | |
_setup() | |
put_file() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment