所以我能夠成功地讀取圖像文件,並將其傳遞迴我的C#應用程序,但我不能給它適當地解碼基於圖像解讀C#基地64。從通過JSON/PHP(BASE64_ENCODE)
我通過PHP返回JSON數據本身(未示出json_encode函數):
$imgbinary = fread(fopen($filename, "r"), filesize($filename));
if (strlen($imgbinary) > 0){
return array("success"=>true, "map"=>base64_encode($imgbinary));
}
然後在C#我使用Newtonsoft.Json到串進行解碼(I可以讀取成功和成功的地圖屬性),但我無法再使用的base64解碼的圖像正常寫入一個文件(或顯示)。
我做它是這樣:
File.WriteAllText(System.Windows.Forms.Application.StartupPath + "\\MyDir\\" + FileName, Base64Decode(FileData));
public string Base64Decode(string data)
{
byte[] binary = Convert.FromBase64String(data);
return Encoding.Default.GetString(binary);
}
我在這裏失去了一些東西瘋狂簡單嗎?真正奇怪的是,在解碼數據後,文件大小比原始文件大。 (我認識到,一旦你編碼,數據增加了大約33%,奇怪的是,我解碼後,它仍然更大)。
任何幫助/指針將不勝感激!
您是否獲得一個例外? – xxpor
不要將它作爲TEXT文件寫入,而是通過將字節數組直接保存到文件中(不要執行Encoding.Default.GetString) – Quintium