概述
客户上传文件到七牛后,七牛服务器会响应 200 状态码,响应内容包括 hash 和 key 。但是如果客户需要自定义响应内容,则可以通过设置回调来实现。
回调实现
客户端需要在上传 token 中设置 callbackurl 和 callbody
1、callbackurl 必须是公网上可正常进行 POST 请求并能正常响应的 url,并且业务服务器返回给七牛的内容必须是 json 串.
这里给一个最简单的能响应200的php代码(获取 callbackbody 并打印一个字符串给客户端)
$notifyBody = file_get_contents('php://input');
file_put_contents("test.txt",$notifyBody);
$arr=array("date"=>"test");
echo json_ encode($arr);
?>
2、callbackbody 是需要向业务服务器发送的回调内容,需使用七牛的魔法变量或自定义变量来填充。
但是格式一定要正确,否则会报400格式错误.
例如 java 中正确的格式:
auth.uploadToken(bucket,key,3600,new StringMap()
.put("callbackUrl","callbackurl")
.put("callbackBody", "{"filename":$(fname),"filesize":$(fsize),"width":$(imageInfo.width)}")