使用webClient实现图片同步,异步下载-创新互联

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("/file/tupian/20230130/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("/file/tupian/20230130/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。

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


本文名称:使用webClient实现图片同步,异步下载-创新互联
文章来源:http://hbruida.cn/article/ddshsp.html