qiniu js 上传401错误

我在用QN的javascript API来上传图片.在mkfile时发生401错误. 顺序是这样的:

OPTION mkblk    200
POST mkblk  200
OPTION mkfile 200
GET mkfile 401

Key 是后端给的. 这里的代码没动过. 这是什么道理?

阅读 5.2k
3 个回答

刚弄请一个问题:Demo里面有个不一致的地方。

后端生产的例子是:

{"token":"fRs6i0xClRqaHU0SzeyxBWKCjbU65PvtKpwqJNVpPoxLVV……"}

可是一直提示出错,反正就是token不对,用谷歌浏览器的调试器调试半天,得到的token是对的啊,可是在上传的时候,就是没有token。
纳闷死了,就去把官方所有的代码都读了一遍,才发现,官方的js里面在解析token的json的时候,是uptoken:


        var getUpToken = function() {
            if (!op.uptoken) {
                var ajax = that.createAjax();
                ajax.open('GET', that.uptoken_url, true);
                ajax.setRequestHeader("If-Modified-Since", "0");
                ajax.onreadystatechange = function() {
                    if (ajax.readyState === 4 && ajax.status === 200) {
                        var res = that.parseJSON(ajax.responseText);
                        that.token = res.uptoken;
                    }
                };
                ajax.send();
            } else {
                that.token = op.uptoken;
            }
        };

也就是,服务端正确返回应该是:

{"uptoken":"fRs6i0xClRqaHU0SzeyxBWKCjbU65PvtKpwqJNVpPoxLVV……"}

不知道楼主的问题在不在这,不过我是被坑了两个多小时了。。。。

新手上路,请多包涵

我们设计webapp,用官网提供的js sdk,在某些手机上也出问题

mkfile怎么是get请求,接口不是 post请求么?

POST /mkfile/<fileSize>/key/<encodedKey>/mimeType/<encodedMimeType>/x:user-var/<encodedUserVars> HTTP/1.1
Host:           <UpHost>
Content-Type:   text/plain
Content-Length: <ctxListSize>
Authorization:  UpToken <UploadToken>

<ctxList>

javaScript这里有demo的,你参考看看。

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