upyun / python-sdk

UPYUN Python SDK
117 stars 29 forks source link

make_policy 方法的结果没有decode('utf-8'), 导致 服务器返回decode policy error #64

Open MusaZhou opened 5 years ago

MusaZhou commented 5 years ago

采用 .modules.sign模块下的make_policy方法获得policy 并且生成签名,上传文件时服务器报错decode policy error. 发现是由于make_policy的结果没有使用decode('utf-8'),导致结果带一个b前缀,造成服务端解码错误。测试将make_policy方法改为

def make_policy(data):
      policy = json.dumps(data);
      return base64.b64encode(b(policy)).decode()

可以成功调用。 另外在FormUpload类中的upload方法,data字典里的key 'service' 应该改为 'bucket'