2011-06-20 65 views
1

在我的項目中,我使用CarrierWave gem將audiofiles上傳到GridFS。上傳文件保存到GridFS後,但在我的應用程序中,我無法使用MongoFiles Tool或GridFS-nginx模塊從GridFS獲取它。GridFS + CarrierWave + nginx無法獲取文件

mongofiles get audiotracks/4dfb70d6bcd73f3488000002/data 

命令導致這個錯誤:

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

獲取文件的唯一方法是用Rails的控制檯上工作得很好:

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

cc.read 

因此,如果您遇到的問題一樣這或有一些想法 - 請讓我知道。

回答

0

mongofiles get將嘗試將該文件寫入到與GridFS具有相同名稱和路徑的磁盤。

Assertion 13325發生在GridFS無法像這樣寫入文件時。

您應該檢查文件路徑是否存在,並且您有權限寫入文件。或者,您可以僅使用--local參數提供文件名。

mongofiles --local mytrack.mp3 get audiotracks/4dfb70d6bcd73f3488000002/data