今天做了一个项目,就是把一张表里面的照片,读取、写入到另一张表中,两张表分别在不同的两台Oralce服务器上面,通过接口写入。
数据库中的照片为Blog类型,接口照片字段定义为64位字符串格式。
var bPhoto = (byte[])(mReader["zp"];
var sPhoto = Convert.ToBase64String(bPhoto);
var sPhoto = Convert.ToBase64String(bPhoto);
上面的代码已经完成了读取转成64位字符串的工作,转换过后的字符串也能写进去,但就是看不到照片,plsql有时还直接提示错误。
于是又仔细看了一个接口,然后还需要对字符串再进行一下编码。
sPhoto = HttpUtility.UrlEncode(sPhoto);
具体格式为:
System.Web.HttpUtility.UrlEncode(变量,,Encoding.GetEncoding("GB2312")),后面不指定编码,默认是UTF-8编码。
这次终于把照片写进去了,我的个神哪,就这个编码折腾了我好长时间,记录一下。