07
2014
06

Silverlight通过WebClient删除ClientBin文件夹下指定的文件

 

MainPage.xaml.cs 代码


 

        private void Button_Click_2(object sender, RoutedEventArgs e)
        {
            string name = ListBox1.SelectedItem.ToString();
            Uri uri = new Uri(string.Format("/DataHandler_Del.ashx?filename={0}", name), UriKind.Relative);
            WebClient client = new WebClient();
            client.OpenReadCompleted += new OpenReadCompletedEventHandler(webclient2_OpenReadCompleted);
            client.OpenReadAsync(uri);
        }

07
2014
06

Silverlight通过WebClient查找遍历ClientBin文件夹下所有文件

 

在 Silverlight 调用WebClient 

 


        private void Button_Click_1(object sender, RoutedEventArgs ee)
        {
            Uri uri = new Uri(string.Format("/DataHandler_Get.ashx"), UriKind.Relative);
            WebClient client = new WebClient();
            client.OpenReadCompleted += new OpenReadCompletedEventHandler(webclient1_OpenReadCompleted);
            client.OpenReadAsync(uri);
        }

07
2014
06

Silverlight通过WebClient上传图片到网站ClientBin文件夹

 

 

Silverlight对权限要求较为严格, 如果想上传文件到服务器中,要通过WebClient方式实现, 具体代码如下: 

 

Silverlight 端代码: 

MainPage.xaml.cs

      
        private void ImportImageButtonClick(object sender, RoutedEventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();
            openFileDialog.Filter = "Image Files (*.png, *.jpg)|*.png;*.jpg";
            bool? dialogResult = openFileDialog.ShowDialog();         
            if (dialogResult.HasValue && dialogResult.Value == true)
            {
                Image image = new Image();
                var fileOpenRead = openFileDialog.File.OpenRead();
                {
                    string name = openFileDialog.File.Name;
                    string extension = name.Substring(name.LastIndexOf('.'), name.Length - name.LastIndexOf('.')); //取得扩展名(包括“.”)
                    uploadedName = DateTime.Now.ToString("yyyyMMddhhmmss") + extension; // 根据当前时间重命名
                    uploadImage(uploadedName, fileOpenRead);
                }
            }
        }

07
2014
06

WebClient类 详细使用教程


如果只想从特定的URI请求文件,则可以使用的最简单.NET基类就是System.Net.WebClient。这个类是非常高层的类,它主要用于执行带有一个或两个命令的操作。.NET Framework目前支持以http:、https:和file:标识符开头的URI。

注意:
术语URL(统一资源定位符)在新的技术规范中已不再使用,现在使用的是URI(统一资源标识符)。URI的含义大致与URL相同,但URI更通用,因为它不隐含正在使用的协议,如HTTP或FTP。

WebClient提供四种将数据上载到资源的方法:
OpenWrite 返回一个用于将数据发送到资源的 Stream。
UploadData 将字节数组发送到资源并返回包含任何响应的字节数组。
UploadFile 将本地文件发送到资源并返回包含任何响应的字节数组。
UploadValues 将 NameValueCollection 发送到资源并返回包含任何响应的字节数组。


另外WebClient还提供三种从资源下载数据的方法:
DownloadData 从资源下载数据并返回字节数组。
DownloadFile 从资源将数据下载到本地文件。
OpenRead 从资源以 Stream 的形式返回数据。

07
2014
06

WebClient类的使用:上传文件和下载文件

 


使用System.Net.WebClient类可以从特定的URI请求文件。System.Net.WebClient是一个非常高级的类,它用简单的命令就能实现一些基本操作。下面通过几个实验,说明怎样使用这个类从下载和上传数据。

1、下载文件

使用WebClient类下载文件有两种方法,具体使用哪一种方法取决于文件内容的处理方式。如果需要把文件存储到文件系统上,需要使用DownloadFile()方法,这个方法有两个参数:文件的URI和保存文件的路径:

«1»