现在做一个项目,完全使用XSD,如果采用Image 默认的byte[] 方式输出成XML ,就会很崩溃,会输出如下:
<Image>
<byte>-1</byte>
<byte>-12</byte>
<byte>158</byte>
<byte>-2</byte>
<byte>222</byte>
..........................
<byte>-1</byte>
</Image>
一张 290× 200 的图片,Jpeg 格式,大约需要输出14万行的byte 数组。图片还不到20K,但输出的字符串却大约有600K。这样的方案于情于理是完全说不通的。
解决办法:
采用目前比较流行的Base64 方式,将byte[] 数组转换为字符串,这样就减少了输出,同时也不受机器Code 的影响。
转换代码:
Image --> Base64String
Code
Base64String --> Image
Code