[SDK2.2]Windows Azure Storage (16) 使用WCF服务,将本地图片上传至Azure Storage (上) 客户端代码...
《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里新建了名为photos的Container
9.点击上图photos,我们可以查看到上传成功的图片。如下图:
[SDK2.2]Windows Azure Storage (16) 使用WCF服务,将本地图片上传至Azure Storage (上) 客户端代码...相关推荐
- [New Portal]Windows Azure Virtual Machine (14) 在本地制作数据文件VHD并上传至Azure(1)
<Windows Azure Platform 系列文章目录> 之前的内容里,我介绍了如何将本地的Server 2012中文版 VHD上传至Windows Azure,并创建基于该Serv ...
- MLOps极致细节:15. Azure ML数据集的上传(Azure Workspace DataStore Upload)与注册(Azure Dataset Register)
MLOps极致细节:15. Azure ML数据集的上传(Azure Workspace DataStore Upload)与注册(Azure Dataset Register) 这一章节中,我们将基 ...
- Vbs脚本将本地文件上传到Azure存储账户
说到Azure相信大家都已经非常熟悉了,所以就不做多介绍了,我们都知道在Azure上有一个存储账户,在存储账户下可以可以创建容器,可以存放数据,近期公司呢为了达到数据的安全性,准备将本地的备份数据给A ...
- c#如何通过ftp上传文件_定时上传文件到ftp,2步完成Windows系统定时上传文件到ftp...
FTP能操作任何类型的文件而不需要进一步处理,就像MIME或Unicode一样.但是,FTP有着极高的延时,这意味着,从开始请求到第一次接收需求数据之间的时间,会非常长:并且不时的必须执行一些冗长的登 ...
- Linux文本复制到记事本文本文件乱码,解决“在windows里的记事本里编辑的汉字文本文件,上传到linux服务器上出现乱码“问题...
一.前期准备 1.首先在windows环境下打开记事本,然后创建一个包含汉字和英文的文本文件,输入内容"测试在windows里的记事本里编辑的文本文 件,上传到linux服务器上会不会出现乱 ...
- 通过XShell实现windows文件上传到Linux服务器上
.XShell上传文件到Linux服务器上 在学习Linux过程中,我们常常需要将本地文件上传到Linux主机上,这里简单记录下使用Xsheel工具进行文件传输 1:首先连接上一台Linux主机 2: ...
- Azure Blob Storage 基本用法上传/下载(Java)
文章目录 简单概念 Blob Storage Azure Blob Storage的存储结构 Azure Storage Account Container Blob 操作 Maven依赖 创建Con ...
- Silverlight WCF 上传实现
上一篇中提高Silverlight实现文件上传的一些思路,说实在的,在写哪篇文章之前并没有亲身试验过,虽说是思路,但是万一有偏差还是有点冒险. 经过自己测试后,得意证明,Silverlight 利用 ...
- Xamarin.Form 初学 之 服务引用-WCF服务引用
最近研究一下Xamarin.Form,感觉这个东西确实不错,之前一直做WPF相关,然后看到Xamarin.Form开发与WPF特别相似的语法.很有兴趣! 可是环境部署对于小白的我,可是费了不少功夫!安 ...
最新文章
- 一人之力,刷爆三路榜单!信息抽取竞赛夺冠经验分享
- 运维需要掌握的基础知识
- 在线项目管理工具比较之二:LiquidPlanner
- 昵图网服务器系统资源不足,Win7系统提示系统资源不足警告怎么办? - 爱绿豆...
- 希尔排序(Shell's Sort)的C语言实现
- Windows 7 SP1确实将有性能改进
- ubuntu文件权限解析
- pytorch中数组维度的理解
- java中 8进制 10进制 2进制 16进制 相互转换
- java list 比较相同的元素_java list 比较相同的元素 | 学步园
- python串口数据绘图_使用Python串口实时显示数据并绘图的例子
- java 从控制台输入/读取 四种方法 实现+原理
- 高可用、弹性动态的金融级移动架构在蚂蚁金服的演进之路
- 惠普HP Laser 107a 打印机驱动
- VS2012 有效注册密钥(截止到2016/9/27仍有效)
- 如何使用ChatGPT做一份五一出游攻略?
- ROS:*.bag.active恢复
- Python核心编程-Amy老师第九讲课程作业
- 隐秘而伟大!知名互联网公司都在使用哪些数据库?
- 使用外链的方式让易班的轻应用更漂亮
热门文章
- 在mysql中REGEXP_在MySQL中使用RegExp中的列
- mysql根据语句自动实现索引_mysql 语句的索引和优化
- c语言第四阶段在线作业,中石大(华东)12春(41400) 《C语言》第四阶段在线作业(自测)...
- java mysql curd_javaweb中为mysql的curd多个值的语句
- 消除左递归实验代码_「leetcode」669. 修剪二叉搜索树:【递归】【迭代】详解!
- java 包错_以下关于Java包的描述中,错误的是()
- statistic在c语言中的作用,模型评价除了C-statistic,还能用什么指标?
- 常用报文的解析与相互转换
- 在Wordpress的文章页面获取上一页及下一页的链接URL地址,实现通过键盘的前进后退键进行翻页
- C ++ 数组 | 多维数组(MultiDimensional Arrays)_2