也许它不是一类名为Web客户端把一个数据URI成一个byte []的责任,但我想我可以“下载”一个数据uri而无需自己做这一切吗?
var client = new WebClient();
var result = client.DownloadData(uri);
给出一个URI看起来像
数据:图像/ GIF ; BASE64,R0lGODlhAQABAIAAAAAAAP /// yH5BAEAAAAALAAAAAABAAEAAAIBRAA7
,并得到了引发WebException说
无法识别URI前缀。
如何以最简单的方式解码数据uri?
与
Convert.FromBase64String(str)
解码这样的URI中的问题是,我需要提取部分
R0lGODlhAQABAIAAAAAAAP /// yH5BAEAAAAALAAAAAABAAEAAAIBRAA7
第一,这当然是一个很小的任务。
但是,当文件变大时,需要我分配大量内存才能获得几乎相等的字符串。 Convert.FromBase64String
没有偏移参数是个谜。
如果我不想额外分配,我是否需要自己完成整个base64解码?
base64是臭名昭着的不适合大型存储。 在附注中,如果您已经有base64编码的字符串,那么为什么您需要首先通过“WebClient”传递? –
我希望通过WebClient转换它。 –