读书人

SIlverlight使用WebClent上载图片出现

发布时间: 2013-02-17 10:44:46 作者: rapoo

SIlverlight使用WebClent下载图片出现的安全问题怎么解决



//开始上传
private void OKButton_Click(object sender, RoutedEventArgs e)
{
if (string.IsNullOrEmpty(this.txbaddress.Text)) {
this.txbMessage.Text = "请输入地址!";
}
else if (new Regex(@"http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?").Match(this.txbaddress.Text).Success == false)
{
this.txbMessage.Text = "图片地址格式必须是(http://....jpg)!";
}
else {
this.txbMessage.Text = "正在下载图片,请稍后...";
this.txbaddress.IsEnabled = false;
WebClient mywebclient = new WebClient();
string url = this.txbaddress.Text.Trim();
Uri endpoint = new Uri(url, UriKind.Absolute);
mywebclient.OpenReadCompleted += new OpenReadCompletedEventHandler(mywebclient_OpenReadCompleted);
mywebclient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(mywebclient_DownloadProgressChanged);
mywebclient.OpenReadAsync(endpoint);
}
}

void mywebclient_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
if (e.Error != null)//这里一直报安全错误 谁遇到过
{
this.txbMessage.Text = "网络故障,下载失败!";
this.txbaddress.IsEnabled = true;
return;
}
if (e.Cancelled != true)
{
Stream clientStream = e.UserState as Stream;


Stream serverStream = (Stream)e.Result;
byte[] buffer = new byte[serverStream.Length];
serverStream.Read(buffer, 0, buffer.Length);
clientStream.Write(buffer, 0, buffer.Length);
clientStream.Close();
serverStream.Close();
}
}


[解决办法]
引用:
引用:在我这边下载是没有问题的,你可以考虑在其他机器上运行这个项目试试或者重新建立一个新项目。
另外你可以参考以下http://www.cnblogs.com/wsdj-ittech/archive/2009/08/26/1554056.html

你用这个代码下载东西,不会出现安全问题?就是直接新建一个项目,打上这这些代码……


我是新建了一个项目,然后拷贝你的代码下载没有问题。可以的话你还是参照上面那篇博客中的方式下载试试。

读书人网 >CAD教程

热点推荐