【发布时间】:2011-01-24 18:04:50
【问题描述】:
nvarchar(max), varchar(max),还是我真的应该解码字符串并将其放入图像或 blob 或其他东西中?
更长的版本:(包含所有有趣的细节)
我有一个 .Net SOAP Web 服务,它将记录保存在 SQL 2008 DB 中。该服务将被扩展以接受图像,该图像(无论好坏)也需要暂时进入数据库。
为简单起见,服务将图像作为 Base 64 编码字符串,稍后必须将其作为 base64 编码字符串返回(同一服务上的不同方法)。
我最初只是打算使用 nvarchar(max),我相信这会奏效。但后来我认为 base64 编码意味着它可以使用 varchar(max) 代替,并且使用更少的存储空间。这是正确的吗?还是我应该咬紧牙关将文本解码为二进制,将其存储为 blob,然后在输出时重新编码?
最后 - 负载存储和性能不太可能导致问题,这是一个宠物项目,负载会很低。
编辑:在回答@howiecamp 的问题时,我在这里写下了我是如何对图像进行 URL 编码的:http://www.flowerchild.org.uk/archive/2010/06/13/base-64-encoding-an-image-to-pass-across-a-web.html
【问题讨论】:
-
您能否分享您的代码,用于对文档进行 base 64 编码以进行存储,然后反过来?
标签: sql-server base64