刚写完自定义头像模块,记录一下刚才的过程,直接上代码:
public static string ImgByte()
{
//获取图片地址
string path = UnityEngine.Application.persistentDataPath + "headIcon/icon.png";
//将图片转换为流
FileStream files = new FileStream(path, FileMode.Open);
byte[] imgByte = new byte[files.Length];
//将流存储为字节
files.Read(imgByte, 0, imgByte.Length);
files.Close();
//再将字节转化为string
string str = Convert.ToBase64String(imgByte);
Debug.Log("数据的长度:" + imgByte.Length);
Debug.Log("字符串的长度:" + str.Length);
return str;
}
在讲字节转化为string时,网上很多资料都是
string str = System.Text.Encoding.UTF8.GetString(imgByte);
但是亲测返回值是乱码,上传的PHP时无法解析,所以尝试使用Convert.ToBase64String进行转码,成功。