我在服务端校验上传文件的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);
}
原来是我本地时间错误了,调整之后,就解决了~