也許它不是一類名爲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轉換它。 –