《Windows Azure Platform 系列文章目录》

  前一章我们完成了服务器端的代码,并且已经发布到了Windows Azure云端。

  本章我们将实现客户端的代码,客户端这里我们使用的是Windows Form。

  源代码下载

  1.我们用管理员身份,运行VS2013

  2.新建项目类型为Windows Form Application,并将项目名称修改为LeiAzureClient

  3.本章需要使用HttpClient类来调用WCF,需要进行相关的配置:

  点击Project LeiAzureClient,右键,选择Manage NuGet Packages。如下图

  

  4.在弹出的窗口里,查询"Microsoft HTTP Client Libraries",查询完毕后,点击Install

  5.安装完毕后,我们回到项目文件的Form1,在窗口里增加一个按钮,并设置Text为UploadPic

  

  6.在Form1.cs的引用内容如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;using System.Net.Http;
using System.Net.Http.Headers;
using System.IO;

  7.增加如下代码:

     string urlPrefix = "http://leiazureservice.cloudapp.net/service1.svc";private void button1_Click(object sender, EventArgs e){string uriString = urlPrefix + @"/UploadPic";using (HttpClient client = new HttpClient()){//Please copy file to C:\var fs = new FileStream(@"c:\\WP7.jpg", FileMode.Open, FileAccess.Read);var ms = new MemoryStream();fs.CopyTo(ms);ByteArrayContent arrayContent = new ByteArrayContent(ms.ToArray());arrayContent.Headers.ContentType = new MediaTypeHeaderValue("image/jpeg");client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));var response = client.PostAsync(new Uri(uriString, UriKind.Absolute), arrayContent).Result;//lblResult.Text = resp.ToString();if (response.IsSuccessStatusCode){//will return Uploaded GUIDstring picName = response.Content.ReadAsStringAsync().Result.ToString();//Please check the Upload Photos URL AT//http://leiwcfstorage.blob.core.windows.net/photos/{GUID}.jpg//e.g. http://leiwcfstorage.blob.core.windows.net/photos/39c51e48-e758-8697-d402-8df45f071d40.jpg
                }}}

  在上面的代码中,我们实现以下功能:

  1)指定Azure WCF URL

  2)将本地已经存在的C:\WP7.jpg文件上传至Azure Storage

  3)如果服务器端的response.IsSuccessStatusCode返回True,则调用WCF成功

  4)response.Content.ReadAsStringAsync().Result.ToString();将会返回服务器端的结果

  

  8.我们执行Windows Form工程,点击UploadPic按钮,查看response.IsSuccessStatusCode返回结果

  如果返回结果为Ture,我们打开IE浏览器,查看到leiwcfstorage里新建了名为photosContainer

  

  9.点击上图photos,我们可以查看到上传成功的图片。如下图:

  

分类: Azure Storage
本文转自Lei Zhang的博客博客园博客,原文链接:http://www.cnblogs.com/threestone/p/3401591.html,如需转载请自行联系原作者

[SDK2.2]Windows Azure Storage (16) 使用WCF服务,将本地图片上传至Azure Storage (上) 客户端代码...相关推荐

  1. [New Portal]Windows Azure Virtual Machine (14) 在本地制作数据文件VHD并上传至Azure(1)

    <Windows Azure Platform 系列文章目录> 之前的内容里,我介绍了如何将本地的Server 2012中文版 VHD上传至Windows Azure,并创建基于该Serv ...

  2. MLOps极致细节:15. Azure ML数据集的上传(Azure Workspace DataStore Upload)与注册(Azure Dataset Register)

    MLOps极致细节:15. Azure ML数据集的上传(Azure Workspace DataStore Upload)与注册(Azure Dataset Register) 这一章节中,我们将基 ...

  3. Vbs脚本将本地文件上传到Azure存储账户

    说到Azure相信大家都已经非常熟悉了,所以就不做多介绍了,我们都知道在Azure上有一个存储账户,在存储账户下可以可以创建容器,可以存放数据,近期公司呢为了达到数据的安全性,准备将本地的备份数据给A ...

  4. c#如何通过ftp上传文件_定时上传文件到ftp,2步完成Windows系统定时上传文件到ftp...

    FTP能操作任何类型的文件而不需要进一步处理,就像MIME或Unicode一样.但是,FTP有着极高的延时,这意味着,从开始请求到第一次接收需求数据之间的时间,会非常长:并且不时的必须执行一些冗长的登 ...

  5. Linux文本复制到记事本文本文件乱码,解决“在windows里的记事本里编辑的汉字文本文件,上传到linux服务器上出现乱码“问题...

    一.前期准备 1.首先在windows环境下打开记事本,然后创建一个包含汉字和英文的文本文件,输入内容"测试在windows里的记事本里编辑的文本文 件,上传到linux服务器上会不会出现乱 ...

  6. 通过XShell实现windows文件上传到Linux服务器上

    .XShell上传文件到Linux服务器上 在学习Linux过程中,我们常常需要将本地文件上传到Linux主机上,这里简单记录下使用Xsheel工具进行文件传输 1:首先连接上一台Linux主机 2: ...

  7. Azure Blob Storage 基本用法上传/下载(Java)

    文章目录 简单概念 Blob Storage Azure Blob Storage的存储结构 Azure Storage Account Container Blob 操作 Maven依赖 创建Con ...

  8. Silverlight WCF 上传实现

    上一篇中提高Silverlight实现文件上传的一些思路,说实在的,在写哪篇文章之前并没有亲身试验过,虽说是思路,但是万一有偏差还是有点冒险. 经过自己测试后,得意证明,Silverlight 利用 ...

  9. Xamarin.Form 初学 之 服务引用-WCF服务引用

    最近研究一下Xamarin.Form,感觉这个东西确实不错,之前一直做WPF相关,然后看到Xamarin.Form开发与WPF特别相似的语法.很有兴趣! 可是环境部署对于小白的我,可是费了不少功夫!安 ...

最新文章

  1. 一人之力,刷爆三路榜单!信息抽取竞赛夺冠经验分享
  2. 运维需要掌握的基础知识
  3. 在线项目管理工具比较之二:LiquidPlanner
  4. 昵图网服务器系统资源不足,Win7系统提示系统资源不足警告怎么办? - 爱绿豆...
  5. 希尔排序(Shell's Sort)的C语言实现
  6. Windows 7 SP1确实将有性能改进
  7. ubuntu文件权限解析
  8. pytorch中数组维度的理解
  9. java中 8进制 10进制 2进制 16进制 相互转换
  10. java list 比较相同的元素_java list 比较相同的元素 | 学步园
  11. python串口数据绘图_使用Python串口实时显示数据并绘图的例子
  12. java 从控制台输入/读取 四种方法 实现+原理
  13. 高可用、弹性动态的金融级移动架构在蚂蚁金服的演进之路
  14. 惠普HP Laser 107a 打印机驱动
  15. VS2012 有效注册密钥(截止到2016/9/27仍有效)
  16. 如何使用ChatGPT做一份五一出游攻略?
  17. ROS:*.bag.active恢复
  18. Python核心编程-Amy老师第九讲课程作业
  19. 隐秘而伟大!知名互联网公司都在使用哪些数据库?
  20. 使用外链的方式让易班的轻应用更漂亮

热门文章

  1. 在mysql中REGEXP_在MySQL中使用RegExp中的列
  2. mysql根据语句自动实现索引_mysql 语句的索引和优化
  3. c语言第四阶段在线作业,中石大(华东)12春(41400) 《C语言》第四阶段在线作业(自测)...
  4. java mysql curd_javaweb中为mysql的curd多个值的语句
  5. 消除左递归实验代码_「leetcode」669. 修剪二叉搜索树:【递归】【迭代】详解!
  6. java 包错_以下关于Java包的描述中,错误的是()
  7. statistic在c语言中的作用,模型评价除了C-statistic,还能用什么指标?
  8. 常用报文的解析与相互转换
  9. 在Wordpress的文章页面获取上一页及下一页的链接URL地址,实现通过键盘的前进后退键进行翻页
  10. C ++ 数组 | 多维数组(MultiDimensional Arrays)_2