Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将图像转换为Base64字符串Xamarin表单?_C#_Image_Xamarin_Xamarin.forms_Blob - Fatal编程技术网

C# 如何将图像转换为Base64字符串Xamarin表单?

C# 如何将图像转换为Base64字符串Xamarin表单?,c#,image,xamarin,xamarin.forms,blob,C#,Image,Xamarin,Xamarin.forms,Blob,我想将图像转换为base64string。我想将base64字符串保存到我的数据库中。我可以获取图像的路径。如何从路径获取图像并将图像转换为base64string,以及要将base64string保存到我的数据库,我需要输入什么数据类型 try { var cafNo = entCafNo.Text; var time = tpTime.Time; await CrossMedia.Current.Initialize(); if (!CrossMedia.Curr

我想将图像转换为base64string。我想将base64字符串保存到我的数据库中。我可以获取图像的路径。如何从路径获取图像并将图像转换为base64string,以及要将base64string保存到我的数据库,我需要输入什么数据类型

try
{
   var cafNo = entCafNo.Text;
   var time = tpTime.Time;

   await CrossMedia.Current.Initialize();

   if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported)
   {
      await DisplayAlert("No Camera", "No Camera Available", "Ok");
      return;
   }

   var file = await CrossMedia.Current.TakePhotoAsync(
   new StoreCameraMediaOptions
   {
      SaveToAlbum = true,
      Name = cafNo + "_IMG_01.jpg"
   }
   );

   // provide read access to the file
   FileStream fs = new FileStream(file.Path, FileMode.Open, FileAccess.Read);
   // Create a byte array of file stream length
   byte[] ImageData = new byte[fs.Length];
   //Read block of bytes from stream into the byte array
   fs.Read(ImageData, 0, System.Convert.ToInt32(fs.Length));
   //Close the File Stream
   fs.Close();
   string _base64String = Convert.ToBase64String(ImageData);

   entPhoto1Url.Text = _base64String;
   }
   catch(Exception ex)
   {
      await DisplayAlert("Error", ex.Message, "OK");
   }

你的代码有什么问题?您似乎正在从文件路径读取图像,并将其编码为base64。这是给你一个错误还是一个例外?@Jason不,但是_base64String的结果是将文件路径转换为base64String,例如,文件路径为F:/Images/Image.jpg,base64String为QSR/QWRE/WAASDAWASR。它将整个文件路径转换为base64String。我想获取图像only@Jason保存Base64字符串需要什么数据类型?“保存字符串需要什么数据类型”这是有用的信息,应该放在你原来的帖子里。尝试使用File.ReadAllBytes(路径)从磁盘读取图像数据。您可以将其保存为varchar或blob