JS-SDK 如何指定七牛云空间中的key

https://github.com/qiniu/js-sdk/tree/develop/docs
Upload(file,key) 上传文件,file为需要上传的文件,key指定七牛云空间中的key

上述是JavaScript SDK中的内容,可是我却总是不能成功。

当我使用下面的code时候,可以成功上传文件
但问题是,在七牛服务器上的key name和我本地电脑上是一样的。

        var files = document.getElementById('selectFiles')
        //上传文件 
        if(files&&files.length){
            var f = files[0];
            Q.Upload(f,f.name);
        }

当我使用下面的code时候,上传失败,返回错误是:
"{"error":"key don't matchs with scope"}"
没有修改任何其它代码。

        var files = document.getElementById('selectFiles')
        //上传文件 
        if(files&&files.length){
            var f = files[0];
            var myDesiredName = call/my/function/to/build/key/name
            Q.Upload(f, myDesiredName);
        }

那么应该如何指定服务器端的key name呢?
或者,是我什么地方写的不对?

阅读 5k
2 个回答

搞定了。

原因:
我在build token的时候,加入了文件名,我加入的文件名又是本地文件名,不是我生成的那个希望在qiniu server上的名字。

在调用Q.Upload的时候,又是传入的我生成的那个文件名,所以就出错了。

都说到这里了,解决方案还需要说嘛?

如果 build token的时候,不需要文件名,估计就没有问题了,我没有做测试,哈哈!

这个 js sdk 还没有正式发布,属于测试阶段。建议你试试:https://github.com/qiniu/qiniu.js 这个是七牛玩家小问开发的,完成度更高。

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