最近在做一个任务,client调用servlet,servlet会返回一个二进制流的图片/视频,但是我们的client端不能解析二进流,所以需要第三方的插件,在经过了搜索之后,选择了Silverlight。我们使用了webclient的方法来调用Servlet,代码如下:
private void btn_show_Click(object sender,RoutedEventArgs e)
{
//初始化一个webclient,并调用openread方法,请求服务器,打开一个可以读入流的outstreadm,当该流可读的时候,相应的readwrite异步方法调用一个回调事件,得到servlet返回的进制流文件,并保存。
WebClient wc = new WebClient();
wc.OpenReadCompleted += new OpenReadCompletedEventHandler(wc_OpenReadCompleted);
wc.OpenReadAsync(new Uri("http://localhost:5004/hw/WebApp_Silverlight?type=image",UriKind.Absolute),"Testimage.jpg");
}
void wc_OpenReadCompleted(object sender,OpenReadCompletedEventArgs e)
{
String sURI = e.UserState as String;
//获取二制图片,储存在streamResourceinfo中
StreamResourceInfo imageResourceInfo = new StreamResourceInfo(e.Result as Stream,null);
BitmapImage bImg = new BitmapImage();
bImg.SetSource(imageResourceInfo.Stream);
myImg.source = bImg;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。