zoukankan      html  css  js  c++  java
  • django 和 七牛云 交互

    django 和 七牛云 交互

    • 七牛开发文档

    • 安装

      pip install qiniu
    • 初始化

      # access_key 个人中心的 ak
      # secret_key 个人中心的 sk
      from qiniu import Auth
      q = Auth(access_key, secret_key)
    • 上传流程

      from qiniu import Auth, put_file, etag
      import qiniu.config
      #需要填写你的 Access Key 和 Secret Key
      access_key = 'Access_Key'
      secret_key = 'Secret_Key'
      #构建鉴权对象
      q = Auth(access_key, secret_key)
      #要上传的空间
      bucket_name = 'Bucket_Name'
      #上传后保存的文件名,如果不写的话,需要填写None
      key = 'my-python-logo.png'
      #生成上传 Token,可以指定过期时间等
      token = q.upload_token(bucket_name, key, 3600)
      #要上传文件的本地路径,需要指定资源的绝对路径,如果资源名称相同,默认为第一次上传的资源。
      localfile = './sync/bbb.jpg'
      # 上传资源
      ret, info = put_file(token, key, localfile)
      # 上传成功,获取的状态码为200,没有错误信息
      info.status_code
      # 上传失败,获取的错误信息,
      info.error
    • 设置回调函数

      from qiniu import Auth, put_file, etag
      import qiniu.config
      #需要填写你的 Access Key 和 Secret Key
      access_key = 'Access_Key'
      secret_key = 'Secret_Key'
      
      #构建鉴权对象
      q = Auth(access_key, secret_key)
      #要上传的空间
      bucket_name = 'Bucket_Name'
      #上传后保存的文件名,如果不写的话,需要填写None
      key = 'my-python-logo.png'
      #上传文件到七牛后, 七牛将文件名和文件大小回调给业务服务器。
      policy={
       'callbackUrl':'http://your.domain.com/callback.php',
       'callbackBody':'filename=$(fname) & filesize=$(fsize)'
       }
      #生成上传 Token,可以指定过期时间等
      token = q.upload_token(bucket_name, key, 3600,policy)
      #要上传文件的本地路径,需要指定资源的绝对路径,如果资源名称相同,默认为第一次上传的资源。
      localfile = './sync/bbb.jpg'
      # 上传资源
      ret, info = put_file(token, key, localfile)
      # 上传成功,获取的状态码为200,没有错误信息
      info.status_code
      # 上传失败,获取的错误信息,
      info.error
    • 回调文件

      # callback.php
      
      <?php
      
      $data = $_REQUEST;
      
      file_put_contents('a.txt',$data);
    • 根据服务器地址,可以看回调数据

      success.png  2738  # 回调体里的信息 图片名称 和 图片大小。
  • 相关阅读:
    阿里的面试官都喜欢问哪些问题?
    Spring AOP中的JDK和CGLib动态代理哪个效率更高?
    招聘季!送你21套经典面试题!助你一臂之力!
    Spring AOP中的JDK和CGLib动态代理哪个效率更高?
    为什么需要分布式配置中心?
    线上出故障了!我慌得一匹!教大家如何应对在线故障!
    阿里巴巴的26款超神Java开源项目!
    完了!生产事故!几百万消息在消息队列里积压了几个小时!
    十大经典排序算法(动图演示)
    用户画像学习笔记
  • 原文地址:https://www.cnblogs.com/sq1995liu/p/12522834.html
Copyright © 2011-2022 走看看