我正在获取 jpeg 并将它们作为 varbinary(MAX) 数据类型字段中的字节数组插入到表中。但是,mdf 文件的大小是我要插入的所有文件的总大小的三到四倍。我正在使用标准的 c# 编码技术来获取网络响应并将其转换为内存流:
byte[] result;
byte[] buffer = new byte[4096];
using (Stream responseStream = request.GetResponse().GetResponseStream())
{
using (MemoryStream memoryStream = new MemoryStream())
{
int count = 0;
do
{
count = responseStream.Read(buffer, 0, buffer.Length);
memoryStream.Write(buffer, 0, count);
} while (count != 0);
result = memoryStream.ToArray();
}
}
然而不知何故,512mb 的 jpeg 最终使 mdf 的大小超过了 2gb。在我插入表格的地方,我也在使用 result.length 定义该字段的长度。自动增长设置为 5%。