我在token里面加上mimeLimit为“mimeLimit", "image/png”,用js-sdk上传,返回失败

我在服务端校验上传文件的mime类型为image/png,但是客户端通过js-sdk上传的时候,在“ERROR” 函数返回err.message为"HTTP 错误", error.response为"{"error":"expired token"}",errTip为:客户端认证授权失败。请重试或提交反馈。(401:expired token)。如果服务端不做mime类型限制的话就可以上传成功,这是怎么回事?

服务端返回uptoken函数代码如下:
    public ResponseEntity<?> getUptoken(@RequestParam int name) {
        Auth auth = Auth.create(accessKey, secretKey);
        UploadTokenResult uploadTokenResult = null;
        StringMap putPolicy = new StringMap();
        if (name == BucketNameEnum.VIDEO.getValue()) {
            putPolicy.put("mimeLimit", "video/mp4");
            uploadTokenResult = new UploadTokenResult(auth.uploadToken(videoBucketName, null, 3600, putPolicy));
        } else {
            putPolicy.put("mimeLimit", "image/png");
            uploadTokenResult = new UploadTokenResult(auth.uploadToken(imgBucketName, null, 3600, putPolicy));
        }
        return new ResponseEntity<>(uploadTokenResult, HttpStatus.OK);
    }
阅读 3.3k
2 个回答

原来是我本地时间错误了,调整之后,就解决了~

您可以在七牛后台提工单进行反馈,附上您生成的一个token值和部分token生成代码,会有技术支持工程师向您解答。

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