我在使用新的 carrierwave_direct gem将文件上传到s3时遇到了一个小问题
我已按照安装和设置carrierwave_direct的说明进行操作,但是当我尝试上传到s3时,上传开始,然后在某个时刻暂停上传。有什么想法吗?
有时我也会从s3收到此消息:
<Error>
<Code>InvalidPolicyDocument</Code>
<Message>
Invalid Policy: Invalid 'expiration' value: '2011-09-13T07:52:58+02:00'
</Message>
<RequestId>"some id"</RequestId>
<HostId>
"some host id"
</HostId>
</Error>
我创建了一个名为carrierwave.rb的初始化文件,其中包含来自amazon s3的所有凭据。我还加载了所有必需的宝石(carrierwave_direct,fog,carrierwave)
结帐我的代码 here on gist
是否还有其他人能够正常工作
感谢您的帮助
答案 0 :(得分:0)
我会尝试从您的carrierwave_fog.rb配置中删除此行:
config.fog_attributes = {'Cache-Control'=>'max-age=315576000'} # optional, defaults to {}
听起来您的文档到期日期无效,因为它太接近当前日期/时间。
此外,您可能需要取消注释ImageUploader中的#storage :fog
行。
看看是否有帮助。
答案 1 :(得分:0)
这个gem的作者发现问题出在rails 3.0.x版本上,要使这个gem工作需要将以下行添加到 config / application.rb:
config.action_controller.allow_forgery_protection = false
并从 config / initilizers中的carrierwave.rb文件中删除以下内容:
config.fog_host = 'https://#{fog_directory}.s3.amazonaws.com'
因为这将由雾目录自动确定。
作者还提到,如果您使用的是rails 3.1.x,则无需执行上述步骤。希望这有帮助