2011-06-20 13 views
1

私のプロジェクトでは、CarrierWaveの宝石を使ってGridFileにオーディオファイルをアップロードしています。アップロードしたファイルは適切にGridFSに保存された後、私のアプリケーションでは、MongoFiles ToolまたはGridFS-nginxモジュールを使ってGridFSから取得できません。GridFS + CarrierWave + nginxがファイルを取得できません

mongofiles get audiotracks/4dfb70d6bcd73f3488000002/data 

コマンドは、このエラーにつながる:

assertion: 13325 couldn't open file: audiotracks/4dfb70d6bcd73f3488000002/data 

ファイルを取得する唯一の方法は、レールコンソールを使用することであり、それは正常に動作します:

cc = Mongo::GridFileSystem.new(Mongo::Connection.new.db("test")).open('audiotracks/4dfb70d6bcd73f3488000002/data', 'r') 

cc.read 

ですから、のような問題が発生した場合これは、いくつかのアイデアを持って - plz私に知らせてください。

答えて

0

mongofiles getは、ファイルをGridFSと同じ名前とパスでディスクに書き込もうとします。

アサーション13325は、GridFSがこのようなファイルを書き込めない場合に発生します。

ファイルパスが存在し、ファイルを書き込む権限があることを確認する必要があります。あるいは、ファイル名には--localパラメータを指定するだけです。

mongofiles --local mytrack.mp3 get audiotracks/4dfb70d6bcd73f3488000002/data 
関連する問題