我在项目中嵌入了一个作为资源的图像,以及使用nhibernate作为byte [](字节数组)将图像保存到db的代码。
然后我有代码断言db中的图像与我选择保存的图像匹配。
当它在我的本地开发环境中运行时,两个byte []都具有相同的序列和长度。
Assert.IsTrue(imageInDb.SequenceEqual(imageOnFile), errorMessage);
所以回顾一下,我将一个图像作为本地资源嵌入,并使用nhibernate作为byte []将其保存到db,以获取byte []我使用它:
imageOnFile = Properties.Resources.MyImage.ToByteArray();
它正确保存并且长度为66510.但是在我的一个测试代理上,imageOnFile长度报告为65413.
这很奇怪,因为完全相同的代码用于获取最初用于保存的数据,然后用于断言。因此,如果在断言期间字节数组len为65413,我希望它在保存操作期间保存了65413。
当我使用本地开发环境再次重新检查代码时,显然它只是起作用。
我错过了什么?
编辑:初始映像使用len 66510从我的本地开发环境保存,然后在测试代理上运行的imageOnFile(来自嵌入式资源)报告磁盘65413上的byte [] len。所以它似乎可能是文件系统相关?