1

在我的项目中,我使用 CarrierWave gem 将音频文件上传到 GridFS。上传文件后正确保存到 GridFS 但在我的应用程序中,我无法使用 MongoFiles Tool 或 GridFS-nginx 模块从 GridFS 获取它。

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

因此,如果您遇到此类问题或有一些想法 - 请告诉我。

4

1 回答 1

0

mongofiles get将尝试使用与 GridFS 中相同的名称和路径将文件写入磁盘。

当 GridFS 无法像这样写入文件时,会发生断言 13325。

您应该检查文件路径是否存在以及您是否具有写入文件的权限。或者,您可以只提供带有--local参数的文件名。

mongofiles --local mytrack.mp3 get audiotracks/4dfb70d6bcd73f3488000002/data
于 2011-07-07T13:36:50.050 回答