三种方式可以指定key
第一种方案:
客户需要在服务端生成token中,
tokenb中参数设置请参考文档:http://developer.qiniu.com/docs/v6/api/reference/security/put-policy.html
第一步:bucket只设置空间名字。然后指定savekey为你想设置的文件名字。
举例:java-sdk:
String token = auth.uploadToken("bucketname", null, 3600, new StringMap()
.putNotEmpty("saveKey", "填写你要指定的key"), true);
第二部:js端main.js进行如下配置。save_key: true。
第二种方案:
在文档中:http://developer.qiniu.com/docs/v6/sdk/javascript-sdk.html
如下代码处:
'Key': function(up, file) {
// 若想在前端对每个文件的key进行个性化处理,可以配置该函数
// 该配置必须要在 unique_names: false , save_key: false 时才生效
var key = "";
// do something with key here
return key
}
在var key=”“,指定你的文件key就可以了。
注意:服务端生成token时候,只指定参数bucket。而不是bucket:key形式。因为bucket:key形式是用来限制客户端上传的名字必须和服务端一致才可以。
第三种方案:
参照文档:http://developer.qiniu.com/docs/v6/api/reference/security/put-policy.html
如下代码处:
callbackFetchKey ● 是否启用fetchKey上传模式,0为关闭,1为启用;具体见fetchKey上传模式。
这种方式是客户上传文件,到云端。云端会回调给用户的业务服务器。业务服务器返回指定的json格式字符串。来指定上传云端的文件名字。