来源: https://github.com/aws/aws-sdk-js/issues/399#issuecomment-233057244
试试这个:
AWS.events.on('retry', function(response) {
if (response.error.name === 'RequestTimeTooSkewed') {
console.error('User time is not correct. Handling error!');
console.log('AWS systemClockOffset:', AWS.config.systemClockOffset);
var serverTime = Date.parse(response.httpResponse.headers['date']);
var timeNow = new Date().getTime();
console.log('AWS timestamp:', new Date(serverTime));
console.log('Browser timestamp:', new Date(timeNow));
AWS.config.systemClockOffset = Math.abs(timeNow - serverTime);
response.error.retryable = true;
console.log('Setting systemClockOffset to:', AWS.config.systemClockOffset);
console.log('Retrying uploading to S3 once more...');
}
});
你侦测时钟多少是关闭的,设置AWS.config.systemClockOffset的差异,并重试
你可以有您的应用程序会在允许上传之前收集其当地时间并在服务器上进行检查,如果检查失败,则提醒用户并禁用“上传”功能 – Houseman