我在一个项目(Winforms 和 Web 服务项目)中各有两个数据库,并且我使用 Entity Framework 进行查询以将数据从项目 1 发送到项目 2。我的问题是如何将图像从第一个数据库转换为字符串通过查询发送?
这是我的网络服务代码:
// Entity Framework
Person sd = new Person();
// Method to get data from winforms app
public void GetData(string name,string picture)
{
sd.name= name;
sd.picture= ImageToByteArray(picture);
context.AddToPerson(sd);
context.SaveChanges();
}
//Method to save the image into database
private Byte[] ImageToByteArray(string source)
{
FileInfo fInfo = new FileInfo(source);
long sizeByte = fInfo.Length;
FileStream fs = new FileStream(source, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
byte[] data = br.ReadBytes((int)sizeByte);
return data;
}
这是我的 Winforms 代码:
WebService3SD.Service1SoapClient oService = new WebService3SD.Service1SoapClient();
private void SendData()
{
Driver dr = context.Drivers.FirstOrDefault(d => d.name == "name1");
oService.GetData(dr.name,????);//here i have no idea what i have to do ?!
}
为此,我需要一种将图像转换为字符串的方法,所以如果有人对此有任何想法,我将不胜感激。