如何将嵌入式图像转换为xamarin形式的Base64字符串?

时间:2018-10-30 05:04:35

标签: xamarin xamarin.forms

我想将Embedded image转换为base 64字符串。该映像位于PCL解决方案中,所以让我知道如何将映像转换为base64。我尝试了很多方法,但没有正确获取文件路径。所以请帮我。

2 个答案:

答案 0 :(得分:0)

//file to base64 string
byte[] b = System.IO.File.ReadAllBytes(FileName);
String s = Convert.ToBase64String(b);

//base64 string to file
byte[] data = Convert.FromBase64String(s);
System.IO.File.WriteAllBytes(FileName2, data);

答案 1 :(得分:0)

由于它是嵌入式资源,因此获取图像的路径是将其转换为流的问题,因此可以采取以下步骤来获取嵌入式图像的路径:

string imagePath = "NameOfProject.Assets.applicationIcon.png"; 

注意:这是您要提供的示例路径,其中项目名称是项目名称,Assets是我有图像的文件夹,应用程序图标是图像。 (希望您能理解我在这里所做的事情)

之后,获取大会详细信息,如下所示:

Assembly assembly = typeof(NameOfClass).GetTypeInfo().Assembly;

然后在using语句中将您的图像转换成流,类似

string result;
using (Stream stream = assembly.GetManifestResourceStream(imagePath))
{
  long length = stream.Length;
  byte[] buffer = new byte[length];
  stream.Read(buffer, 0, (int)length);
  result = Convert.ToBase64String(data);
}

在查询的情况下还原。