上传成功后,回调服务器能否返回给七牛json数组?

1,上传成功后

"callbackBody" : "name=$(fname)&hash=$(etag)&location=$(x:location)&price=$(x:price)&uid=123"

因为设置此callbackbody,七牛将form-data数据赋值给这些callbackbody中的变量,构造出回到信息

name=sunflower.jpg&hash=Fn6qeQi4VDLQ347NiRm-RlQx_4O2&location=Shanghai&price=1500.00&uid=123

然后post请求给回调服务器。

2,回调服务器再收到请求然后处理请求返回json格式数据

请求信息为:

    POST /callback  HTTP/1.1
    Content-Type: application/x-www-form-urlencoded
    User-Agent: qiniu go-sdk v6.0.0
    Host: api.examples.com
    Authorization: QBox iN7NgwM31j4-BZacMjPrOQBs34UG1maYCAQmhdCV:tDK-3f5xF3SJYEAwsll5g=

   name=sunflower.jpg&hash=Fn6qeQi4VDLQ347NiRmRlQx_4O2&location=Shanghai&price=1500.00&uid=123

这些信息后,可以通过验证authorization来验证请求涞源是否合法。合法验证后,回调服务器将请求信息进行处理并返回给此请求的json格式给七牛。那么这里有个问题是,回调服务器将此处的请求处理成json格式,可不可以是数组,比如

HTTP/1.1 200 OK
Server: nginx/1.1.19
Date: Thu, 19 Dec 2013 06:27:30 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache

files:[
    {
    "success":true,
    "name":"sunflowerb.jpg",
    "hash":"Fn6qeQi4VDLQ347NiRmRlQx_4O2",
    "location":"Shanghai",
    "price":"1500.00",
    "uid":"123"
    }
]

文档上给的例子只是一个类似 {"success":true,"name":"sunflowerb.jpg"}的例子

3,七牛将回调服务器处理后的json数据返回给客户端,js端接受

files:[
        {
        "success":true,
        "name":"sunflowerb.jpg",
        "hash":"Fn6qeQi4VDLQ347NiRmRlQx_4O2",
        "location":"Shanghai",
        "price":"1500.00",
        "uid":"123"
        }
    ]

数组进行处理。

这样是否可行?

阅读 3.6k
1 个回答

已测试,可以,结案~

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进