我正在使用MS SQL 2008我有一个varbinary(max)类型列的表
该表有许多上传的pdf文件(字节数组)
我正在将这些字节转换为pdf文件
通过此代码:
using (FileStream fs = new FileStream
(@"D:\EIFiles\test.pdf", FileMode.Create))
{
fs.Write(byte, 0, byte.Length);
}
许多pdf文件都可以打开,但有些文件无法打开,因为adobe reader会提醒“损坏的文件”消息。 注意:所有这些都可以通过使用此DB
的程序(使用Devexpress XAF编写)打开答案 0 :(得分:2)
默认FileData
类型的DevExpress XAF实现在保存之前压缩流(Gzip)。如果不首先解压缩流,您将无法读取内容。您可以使用DevExpress.Persistent.Base程序集中的CompressionUtils.Decompress()
。
或者,您可以实现自己的FileData
版本并更改此行为。查看源代码(或使用反编译器)并从[ValueConverter(typeof(CompressionConverter))]
属性中删除Content
属性。