我有以下情况:用户正在使用移动应用程序,并且可以创建存储以下数据的对象:
名称,这是一个字符串 地址,这是一个字符串 图片,使用手机的相机拍摄并作为位图图像存储在本地。
用户可以选择将这些数据存储在服务器后端中,后端是一个侦听HTTP请求的WCF Web服务。我知道我可以将对象字符串编码为JSON对象并通过无线方式发送到http服务,但我不确定如何将图像传输到服务器?你能把它编码为XML / JSON并将其与字符串一起发送吗?
该应用程序目前是用C#编写的Windows Phone 8应用程序,但在不久的将来将为iOS设备编写相同的应用程序。
答案 0 :(得分:0)
您必须为每个图像添加流转换,并将详细信息添加到列表中。
在客户端。
Stream stream = (Stream)openDialog.File.OpenRead();
byte[] bytes = new byte[stream.Length];
stream.Read(bytes, 0, (int)stream.Length);
BitmapImage bmi = new BitmapImage();
using (MemoryStream ms = new MemoryStream(bytes))
{
bmi.SetSource(ms);
newRow.Thumbnail = bmi;
}
在您的服务方面
string filePath = ConfigurationManager.AppSettings.Get("ImageUploadPath");
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
filePath = filePath + "\\" + picture.FileName + "." + picture.FileType;
if (picture.FileName != string.Empty)
{
fileStream = File.Open(filePath, FileMode.Create);
writer = new BinaryWriter(fileStream);
writer.Write(picture.FileStream);
}