我最近实施了Fine Uploader并且它大部分成功了。但是有些用户无法上传。他们都使用现代浏览器(IE10,FF和Chrome)。一个让我远程访问他们的机器,我能够在Chrome和FF上试用它。
我在两个方面都遇到了同样的错误:
[10:45:28.330] "[FineUploader 3.8.0] Received response status 403 with body: <?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AccessDenied</Code><Message>Invalid according to Policy: Policy expired.</Message><RequestId>--removed--</RequestId><HostId>--removed--</HostId></Error>"
它的计算机上是否存在时区设置,导致生成无效策略?
答案 0 :(得分:4)
时区设置将无效,因为时间为UTC。但是,根据亚马逊的说法,如果用户计算机上的时间不准确(例如,关闭5分钟或更长时间),那么该政策将会过期。
Fine Uploader将到期日期设置为5分钟(再次,以UTC为单位)。使用的日期是在浏览器中生成的,因此将使用客户端计算机的时间。如果客户端计算机的时钟缓慢5分钟或更长时间,则当Amazon处理该策略时,该策略将被视为已过期。
我很确定这个问题是由于客户机器时钟的显着偏差造成的。如果您验证这一点,我建议您指示他们使系统时钟与时间服务器保持同步。
更新:Fine Uploader 5.5增加了一项新功能,可让您克服用户计算机/浏览器上的极端时钟漂移。有关详细信息,请参阅clock drift section on the S3 feature page。