【问题标题】:File upload to mongoDB using C# driver and GridFS generates assertion使用 C# 驱动程序和 GridFS 将文件上传到 mongoDB 生成断言
【发布时间】:2011-11-23 10:44:16
【问题描述】:

首先,设置:

  • 服务器:Ubuntu 10.04 服务器

    mongod --version

    db 版本 v1.2.2,pdfile 版本 4.5

    11 月 23 日星期三 11:35:42 git 版本:nogitversion

  • 客户端:Windows 7 64bit,VS2010 应用,使用官方 C# 驱动 v1.3。

我正在尝试使用 GridFS 在 mongoDB 中存储 png 图像。我的代码如下所示:

var GridFSInfo = DB.GridFS.Upload(TextureFileName, TextureFileName);

运行此代码我得到以下异常

An unhandled exception of type 'MongoDB.Driver.GridFS.MongoGridFSException' occurred in MongoDB.Driver.dll 

Additional information: Upload client and server MD5 hashes are not equal.

我试图查找有关此错误的信息,但我似乎是唯一遇到此问题的人:(

服务器日志没有给出任何错误,我得到的只是:

Wed Nov 23 11:42:23 connection accepted from 141.3.89.168:16861 #159
Wed Nov 23 11:42:25 building new index on { _id: ObjId(000000000000000000000000) } for ObjectDBTest.fs.files...
Wed Nov 23 11:42:25 Buildindex ObjectDBTest.fs.files idxNo:0 { name: "_id_", ns: "ObjectDBTest.fs.files", key: { _id: ObjId(000000000000000000000000) } }
Wed Nov 23 11:42:25 done for 0 records 0secs
Wed Nov 23 11:42:25 info: creating collection ObjectDBTest.fs.files on add index
Wed Nov 23 11:42:25 building new index on { filename: 1, uploadDate: 1 } for ObjectDBTest.fs.files...
Wed Nov 23 11:42:25 Buildindex ObjectDBTest.fs.files idxNo:1 { _id: ObjId(4ecccd0382522c02f8e58d75), name: "filename_1_uploadDate_1", ns:    "ObjectDBTest.fs.files", key: { filename: 1, uploadDate: 1 } }
Wed Nov 23 11:42:25 done for 0 records 0secs
Wed Nov 23 11:42:25 building new index on { _id: ObjId(000000000000000000000000) } for ObjectDBTest.fs.chunks...
Wed Nov 23 11:42:25 Buildindex ObjectDBTest.fs.chunks idxNo:0 { name: "_id_", ns: "ObjectDBTest.fs.chunks", key: { _id: ObjId(000000000000000000000000) } }
Wed Nov 23 11:42:25 done for 0 records 0secs
Wed Nov 23 11:42:25 info: creating collection ObjectDBTest.fs.chunks on add index
Wed Nov 23 11:42:25 building new index on { files_id: 1, n: 1 } for ObjectDBTest.fs.chunks...
Wed Nov 23 11:42:25 Buildindex ObjectDBTest.fs.chunks idxNo:1 { _id: ObjId(4ecccd0382522c02f8e58d76), name: "files_id_1_n_1", ns: "ObjectDBTest.fs.chunks", key: { files_id: 1, n: 1 }, unique: true }
Wed Nov 23 11:42:25 done for 0 records 0secs
Wed Nov 23 11:42:29 end connection 141.3.89.168:16861

在我看来,文件传输已启动,但随后出现问题。我三次检查该文件是否存在。我使用 mongofiles 命令行实用程序来查看 GridFS 是否正常工作并且那里一切正常,文件上传没问题。如果我不进行 GridFS 上传并且只使用标准 BSON 文档操作,我的应用程序也可以正常工作。我可以插入、搜索、删除,所以与服务器的连接正常。

我现在不知道这可能是什么来源。如有任何提示,我将不胜感激。

【问题讨论】:

    标签: c# mongodb md5 gridfs


    【解决方案1】:

    这很容易重现吗?它与特定文件有关吗?如果您有任何重现此内容的提示,请告诉我。

    你真的使用v1.2.2的服务器吗?当前版本是 2.0.1。

    【讨论】:

    • 我尝试了几个不同的 png 文件,这个设置总是产生这个结果。我使用的是 1.2.2,因为我前段时间使用 apt 安装了它。尝试更新的服务器版本是我的想法。不知道它已经是 2.0.1,所以我肯定会尝试更新的版本,看看是否能解决问题。
    • 如果您在切换到当前版本的服务器后仍有问题,请告诉我,如果有问题,我们会进一步处理。我在去年看到了一些与 md5 计算相关的 JIRA,因此当前版本的服务器可能会解决这个问题(最有可能的是 SERVER-1233)。
    • 我刚刚安装了 2.0.1,这已经解决了这个问题。现在一切似乎都按我的需要工作了。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-22
    • 1970-01-01
    • 1970-01-01
    • 2020-03-27
    • 2020-03-20
    • 1970-01-01
    相关资源
    最近更新 更多