diff --git a/docs/README.md b/docs/README.md index 468e34b..21d73f4 100644 --- a/docs/README.md +++ b/docs/README.md @@ -121,6 +121,7 @@ title: Ruby SDK Qiniu::RS.generate_upload_token :scope => target_bucket, :expires_in => expires_in_seconds, :callback_url => callback_url, + :callback_body => callback_body, :callback_body_type => callback_body_type, :customer => end_user_id, :escape => allow_upload_callback_api, @@ -138,6 +139,9 @@ title: Ruby SDK :callback_url : 可选,字符串类型(String),用于设置文件上传成功后,七牛云存储服务端要回调客户方的业务服务器地址。 +:callback_body +: 可选,字符串类型(String),用于设置文件上传成功后,七牛云存储服务端向客户方的业务服务器发送回调请求的值。 + :callback_body_type : 可选,字符串类型(String),用于设置文件上传成功后,七牛云存储服务端向客户方的业务服务器发送回调请求的 `Content-Type`。 diff --git a/lib/qiniu/tokens/upload_token.rb b/lib/qiniu/tokens/upload_token.rb index 35bc70e..10514b4 100755 --- a/lib/qiniu/tokens/upload_token.rb +++ b/lib/qiniu/tokens/upload_token.rb @@ -10,12 +10,13 @@ module Qiniu include Utils - attr_accessor :scope, :expires_in, :callback_url, :callback_body_type, :customer, :escape, :async_options, :return_body + attr_accessor :scope, :expires_in, :callback_url, :callback_body, :callback_body_type, :customer, :escape, :async_options, :return_body def initialize(opts = {}) @scope = opts[:scope] @expires_in = opts[:expires_in] || 3600 @callback_url = opts[:callback_url] + @callback_body = opts[:callback_body] @callback_body_type = opts[:callback_body_type] @customer = opts[:customer] @escape = opts[:escape] @@ -26,6 +27,7 @@ module Qiniu def generate_signature params = {:scope => @scope, :deadline => Time.now.to_i + @expires_in} params[:callbackUrl] = @callback_url if !@callback_url.nil? && !@callback_url.empty? + params[:callbackBody] = @callback_body if !@callback_body.nil? && !@callback_body.empty? params[:callbackBodyType] = @callback_body_type if !@callback_body_type.nil? && !@callback_body_type.empty? params[:customer] = @customer if !@customer.nil? && !@customer.empty? params[:escape] = 1 if @escape == 1 || @escape == true