分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

使用webClient实现图片同步,异步下载

发布时间:2023-09-06 01:56责任编辑:顾先生关键词:暂无标签
WebClient.DownloadFile 方法

将具有指定 URI 的资源下载到本地文件。

命名空间:System.Net

程序集:System(在 system.dll 中)


同步实现参考代码:

private void btnsyndownload_Click(object sender, EventArgs e)
{
File.Delete("download.jpg");
try
{
if (!File.Exists("download.jpg"))
{
WebClient client = new WebClient(); ???????????????????????????????????????????client.DownloadFile("https://ss0.baidu.com/Po3dSag_xI4khGko9WTAnF6hhy/image/h%3D300/sign=181318733ad12f2ed105a8607fc0d5ff/94cad1c8a786c9171cc12b9dc53d70cf3ac75757.jpg", "download.jpg");
picpicture.Image = Image.FromFile("download.jpg");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}

 ???}

WebClient.DownloadFileAsync 方法

将具有指定 URI 的资源下载到本地文件。此方法不会阻止调用线程。

命名空间:System.Net
程序集:System(在 system.dll 中)


异步实现参考代码:

File.Delete("download.jpg");
try
{
if (!File.Exists("download.jpg"))
{
WebClient client = new WebClient();
client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);

client.DownloadFileAsync(newUri("https://ss0.baidu.com/Po3dSag_xI4khGko9WTAnF6hhy/image/h%3D300/sign=181318733ad12f2ed105a8607fc0d5ff/94cad1c8a786c9171cc12b9dc53d70cf3ac75757.jpg"),"download.jpg");

 ???????????} ???????} ???????catch (Exception ex) ???????{ ???????????MessageBox.Show(ex.ToString()); ???????} ???} ???void client_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e) ???{ ??????????????????picpicture.Image = Image.FromFile("download.jpg"); ????}

简单介绍一下WebClient:

WebClient 类提供向 URI 标识的任何本地、Intranet 或 Internet 资源发送数据以及从这些资源接收数据的公共方法。WebClient 类使用 WebRequest 类提供对资源的访问。WebClient 实例可以通过任何已向 WebRequest.RegisterPrefix 方法注册的 WebRequest 子代访问数据。注意默认情况下,.NET Framework 支持以 http:、https:、ftp:、和 file: 方案标识符开头的 URI。 下面描述用于将数据上载到资源的 WebClient 方法: OpenWrite ?检索一个用于将数据发送到资源的 Stream。OpenWriteAsync ?检索 Stream,它在不阻止调用线程的情况下将数据发送到资源。UploadData ?将字节数组发送到资源,并返回包含任何响应的 Byte 数组。UploadDataAsync ?在不阻止调用线程的情况下,将 Byte 数组发送到资源。UploadFile ?将本地文件发送到资源,并返回包含任何响应的 Byte 数组。UploadFileAsync ?在不阻止调用线程的情况下,将本地文件发送到资源。UploadValues ?将 NameValueCollection 发送到资源,并返回包含任何响应的 Byte 数组。UploadValuesAsync ?在不阻止调用线程的情况下,将 NameValueCollection 发送到资源,并返回包含任何响应的 Byte 数组。UploadString ?在不阻止调用线程的情况下,将 String 发送到资源。UploadStringAsync ?在不阻止调用线程的情况下,将 String 发送到资源。 下面描述从资源下载数据的 WebClient 方法: OpenRead ?从资源以 Stream 的形式返回数据。OpenReadAsync ?在不阻止调用线程的情况下,从资源返回数据。DownloadData 从资源下载数据并返回 Byte 数组。DownloadDataAsync ?在不阻止调用线程的情况下,从资源下载数据并返回 Byte 数组。DownloadFile ?从资源将数据下载到本地文件。DownloadFileAsync ?在不阻止调用线程的情况下,将数据从资源下载到本地文件。DownloadString ?从资源下载 String 并返回 String。DownloadStringAsync ?在不阻止调用线程的情况下,从资源下载 String。 

使用webClient实现图片同步,异步下载

原文地址:http://blog.51cto.com/13758648/2119997

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved