[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 GUID
                    string 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,如需转载请自行联系原作者
目录
相关文章
|
7天前
|
前端开发 安全 开发工具
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
136 89
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
12天前
|
前端开发 Java Shell
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
99 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
1月前
|
监控 搜索推荐 开发工具
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
124 2
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
|
4月前
|
API 开发工具 C#
神策SDK不支持Windows客户端全埋点,怎么实现用户统计分析?
本文将介绍,ClkLog针对神策不支持全埋点的客户端实现用户访问基础统计分析 1。
神策SDK不支持Windows客户端全埋点,怎么实现用户统计分析?
|
3月前
|
网络安全 Windows
Windows server 2012R2系统安装远程桌面服务后无法多用户同时登录是什么原因?
【11月更文挑战第15天】本文介绍了在Windows Server 2012 R2中遇到的多用户无法同时登录远程桌面的问题及其解决方法,包括许可模式限制、组策略配置问题、远程桌面服务配置错误以及网络和防火墙问题四个方面的原因分析及对应的解决方案。
216 4
|
4月前
|
弹性计算 关系型数据库 网络安全
阿里云国际版无法连接和访问Windows服务器中的FTP服务
阿里云国际版无法连接和访问Windows服务器中的FTP服务
|
Windows 网络协议 数据安全/隐私保护
|
网络协议 Windows 数据安全/隐私保护

热门文章

最新文章