我是c#的新手。我正在开发一个iOS项目。我想将图像上传到服务器。所以我想将图像转换为字符串。任何人都可以帮助我这样做。
我同意将图像上传到服务器的任何类型的方法。
答案 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);