又拍云存储的使用记录

 第三方服务    第三方服务   2018-03-20 11:53 

    又拍云,即又拍云存储,又拍云存储是通用的大规模存储服务。开放高度可扩展的API,为互联网企业提供基础存储系统。

    官方网址:https://www.upyun.com/index.html

    注册账号并实名认证后方可正常使用其服务。

    当拥有正常可使用的“服务”后,进入服务管理--功能配置,有很多可选配置项,基础配置中需要创建操作员并授权访问你的服务,此后可以使用ftp、upx(command line)、api等管理你“服务”的数据。

QQ截图20161206104808

    1.ftp

    文档地址:http://docs.upyun.com/guide/#ftpftps

    2

    2.upx(命令行)

    3

    代码库:https://github.com/polym/upx

    3.api

    本站使用又拍云,目前仅用于图片存储——文章图片、头像图片,即 使用uyun api for python sdk。

    UPYUN Python SDK,集合 UPYUN HTTP REST 接口,UPYUN HTTP FORM 接口,分块上传 和 视频处理接口。

    代码库:https://github.com/upyun/python-sdk

    使用说明:https://github.com/upyun/python-sdk/blob/master/README.md

    代码如下:

    3.1 又拍云信息配置

    "UpYunStorage": {
        "enable": os.getenv("Interest_blog_UpYunStorage_enable", False),#启动又拍云存储
        "bucket": os.getenv("Interest_blog_UpYunStorage_bucket"),       #服务名称
        "username": os.getenv("Interest_blog_UpYunStorage_username"),   #操作员username
        "password": os.getenv("Interest_blog_UpYunStorage_password"),   #操作员password
        "secret": os.getenv("Interest_blog_UpYunStorage_secret"),       #表单API密钥(服务管理-功能配置-高级功能)        "timeout": os.getenv("Interest_blog_UpYunStorage_timeout", 10),
        "dn": os.getenv("Interest_blog_UpYunStorage_dn", "https://img.saintic.com"),
        "allow-file-type": "jpg,jpeg,png,gif"
    },
    #又拍云存储插件

    3.2 上传文件代码(file是一个真实存在的文件)

def UploadImage2Upyun(file, imgurl, kwargs=PLUGINS['UpYunStorage']):
    """ Upload image to Upyun Cloud with Api """

    logger.info({"UploadFile": file, "imgurl": imgurl, "kwargs": kwargs})

    up = upyun.UpYun(kwargs.get("bucket"), username=kwargs.get("username"), password=kwargs.get("password"), secret=kwargs.get("secret"), timeout=kwargs.get("timeout", 10))

    formkw = { 'allow-file-type': kwargs.get('allow-file-type', 'jpg,jpeg,png,gif') }

    with open(file, "rb") as f:
        res = up.put(imgurl, f, checksum=True, need_resume=True, form=True, **formkw)

    return res

    3.3 表单文件存储

    目前采用的方式为,保存表单上传图片文件,然后用UploadImage2Upyun函数上传。

    3.4 问题及解决

    3.4.1 表单上传的文件直接传递文件内容的形式上传:

        (flask)

          f = request.files.get('file');

          up.put(imgUrl, f.stream.read())

    3.4.2 base64编码图片直接上传到又拍云:

        (flask)

           import base64; 

           picStr = request.form.get('picStr');#post提交data;

           up.put(imgUrl, base64.b64decode(picStr))

点赞 打赏
取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

交流分享

QQ扫一扫或点击二维码加入,群号577543189
微信扫一扫,手滑关注它
微信扫一扫,进入小程序

推荐文章

标签云集

友情链接  交换友链

推广位