如何在c#中将图像转换为字符串?特别是在Monotouch ios中

时间:2015-02-13 10:22:15

标签: c# image xamarin.ios

我是c#的新手。我正在开发一个iOS项目。我想将图像上传到服务器。所以我想将图像转换为字符串。任何人都可以帮助我这样做。

我同意将图像上传到服务器的任何类型的方法。

2 个答案:

答案 0 :(得分:3)

那怎么样?

FileStream stream = new FileStream(imageFilePath, FileMode.Open);
BinaryReader binreader = new BinaryReader(stream);
byte[] buffer = new byte[(int) stream.Length];
buffer = binreader.ReadBytes((int) stream.Length);
string serialized = Convert.ToBase64String(buffer)

如果你有System.Drawing.Image对象而不是文件路径,你可以这样做:

System.Drawing.Image image; //initialize it someway
MemoryStream ms = new MemoryStream();
image.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg); //if it is jpeg
byte[] buffer = ms.ToArray();
string serialized = Convert.ToBase64String(buffer);

然后将'serialiazed'值传递给服务器。

如果它能够起作用取决于服务器将如何处理它。

答案 1 :(得分:2)

同样只需少一点代码

//Clientside    
byte[] imgBytes = File.ReadAllBytes("FilePath");
string imgStr = System.Convert.ToBase64String(imgBytes);

//Serverside 
byte[] serverSideImgBytes = System.Convert.FromBase64String(imgStr);
File.WriteAllBytes("PathAndFileName", serverSideImgBytes);