使用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("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。
上一篇: PHP 语法
下一篇: Kali Linux搭建Go语言环境
推荐阅读
-
Python实现使用request模块下载图片demo示例
-
PHP使用pcntl_fork实现多进程下载图片的方法
-
使用ThinkPHP自带的Http类下载远程图片到本地的实现代码
-
使用webClient实现图片同步,异步下载
-
iOS开发-使用NSURLSession实现文件断点下载,文件离线续传以及图片上传
-
使用PHP实现下载CSS文件中的图片
-
微信小程使用swiper组件实现图片轮播切换显示功能【附源码下载】
-
Java commons io包实现多线程同步图片下载入门教程
-
PHP使用pcntl_fork实现多进程下载图片的方法_PHP
-
使用ThinkPHP自带的Http类下载远程图片到本地的实现代码_PHP