Python Web框架Flask中使用百度云存储BCS实例
对于部署在百度应用引擎BAE上的项目,使用百度云存储BCS(BaiduCloudStorage)是不错的存储方案。
百度云存储已有PythonSDK,对它进行简单封装后,就可以直接在Flask中使用了,项目代码见GitHub上Flask-BCS。
使用示例代码:
fromflaskimportFlask
fromflask_bcsimportBCS
BCS_HOST='BCSHOST'
BCS_ACCESS_KEY='BCSAccessKey'
BCS_SECRET_KEY='BCSSecretKey'
BCS_BUCKET_NAME='BCSBucketName'
app=Flask(__name__)
app.config.from_object(__name__)
bcs=BCS(app)
#或者
#bcs=BCS()
#bcs.init_app(app)
#保存文件到BCS
@app.route('/save')
defsave():
data='datatosave'
filename='filename'
allow_referers=['http://*.duapp.com/*','http://zhangxc.com/*']
#不设置allow_referers为完全public
ret=bcs.save(data,filename,allow_referers)
returnstr(ret)
#删除BCS中的文件
@app.route('/delete')
defdelete():
filename='filename'
ret=bcs.delete(filename)
returnstr(ret)
#根据文件名获取对应的公开URL
@app.route('/url')
defurl():
filename='filename'
returnbcs.url(filename)