0

新しい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>

Amazon s3 からのすべての資格情報を使用して、carrierwave.rb という名前の初期化ファイルを作成しました。必要な宝石もすべてロードしました(carrierwave_direct、fog、carrierwave)

Gist で私のコードをチェックアウトしてください

他の誰かがこれを機能させることができましたか

助けてくれてありがとう

4

2 に答える 2

0

Carrierwave_fog.rb 設定からこの行を削除してみます:

config.fog_attributes = {'Cache-Control'=>'max-age=315576000'}  # optional, defaults to {}

現在の日付/時刻に近すぎるため、ドキュメントの有効期限が無効のようです。

#storage :fogまた、 ImageUploader の行のコメントを外す必要がある場合もあります。それが役立つかどうかを確認してください。

于 2011-09-13T15:12:28.327 に答える
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 を使用している場合は、上記の手順を実行する必要はないと著者は述べています。お役に立てれば

于 2011-09-15T07:45:05.527 に答える