Windows Phone从图片库选取图片通过WCF上传到服务器
来源:互联网 发布:兰空voez知乎 编辑:程序博客网 时间:2024/05/01 23:53
分两部分来介绍:
首先是WCF端:
因为我创建的是Silverlight-based WCF服务,所以没有一般WCF服务的“接口—实现”,只有一个实现,不过不影响,和windows phone调用一般WCF的流程是一样的,主要逻辑正确就没问题。下面是接口函数的实现:
[OperationContract]public string Recognize(byte[] bytes){ MemoryStream stream = new MemoryStream(bytes); Bitmap bmp = new Bitmap(stream); Random myrdn = new Random(); string imageName = DateTime.Now.ToString("yyMMddmm") + myrdn.Next(10000).ToString(); string path = @"g:\UserImages\" + imageName + ".jpg"; bmp.Save(path, ImageFormat.Jpeg); return path;}
WCF接收到一个文件的字节数组,用MemoryStream转换为Bitmap之后,产生一个保存文件的随机名,把文件保存在某路径下(这里我用相对路径的时候,本机测试正确,到了windows phone上就说找不到文件了,知道的同学麻烦说一下是什么问题,怎么解决),保存为Jpg格式(当然可以保存为任何你想要的格式),然后返回该图片在服务器的保存路径。
WCF需要数据传输大小的配置,详见:这里
windows phone端:
首先需要个按钮来调用图片库(可以找到教程,这里就不说了),由于是异步调用,需要写回调函数,如下:
void photoChoose_Completed(object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) { //stream为当前页面类的一个成员变量,为Stream类型 //将图片源赋给stream stream = e.ChosenPhoto; BitmapImage bmp = new BitmapImage(); bmp.SetSource(stream); image1.Source = bmp; } }
这个回调函数的作用:保存选中的图片源,并显示缩略图。image1为页面上的一个图片控件。
然后添加一个确定按钮来处理上传图片的逻辑:
private void Button1_Click(object sender, RoutedEventArgs e) { stream.Position = 0;//很重要,这句不能少,原因也能查到 bytes = new byte[stream.Length]; stream.Read(bytes, 0, bytes.Length);//stream转换为字节数组 //调用WCF WCFServiceClient client = new WCFServiceClient(); client.RecognizeCompleted += new EventHandler<RecognizeCompletedEventArgs>(client_RecognizeCompleted); client.RecognizeAsync(bytes); } //回调函数的实现 void client_RecognizeCompleted(object sender, RecognizeCompletedEventArgs e) { string path = e.Result; }
运行之后,就可以在服务器收到图片了:
因为我做的是一个识别图片的服务,所以函数名没改,希望不要介意.....
- Windows Phone从图片库选取图片通过WCF上传到服务器
- 上传图片到服务器和图片内存处理以及拍照或从相册选取图片的小总结
- 从图片库选择图片并上传
- Win8 从图片库 选择图片,并上传到应用,设着为背景
- windows phone 获取手机图片库中图片(4)
- windows phone 7 获取手机图片库中图片
- Android 通过Base64上传图片到服务器
- Android 通过Base64上传图片到服务器
- Android 通过Base64上传图片到服务器
- Android 通过Base64上传图片到服务器
- Android 通过Base64上传图片到服务器
- 如何:为 Windows Phone 编码 JPEG 并保存到图片库
- java从服务器上传本地图片到图片服务器
- java从服务器上传本地图片到图片服务器
- 如何通过Fckeditor把图片上传到独立图片服务器
- ionic 的项目实现从手机相册选取图片或拍照并上传至服务器
- Winform如何通过TextBox上传图片到服务器
- 图片通过压 ;缩 转换成base64上传到服务器
- OSGI笔记(一)HelloWorld
- iOS 静态类库项目的建立与使用
- WEB Runtime
- Autodesk 首届中国开发者训练营于6月19-21在北京举行.
- CHM文件“页面无法显示”问题解决
- Windows Phone从图片库选取图片通过WCF上传到服务器
- nvarchar,nchar,vchar,nvchar,char,ntext,text区别详解
- Java(反射的基础Class类)
- nor current process has android.permission.WRITE_APN_SETTINGS Proxy andriod,代理上网,wap网络请求问题
- android Generic.kcm的使用
- Canvas教程 Canvas tutorial
- 通过源码编译的方式在fedora上安装node
- SQLPLUS将记录导出到指定文件的几种方法
- ContentProvider详解