资源简介
对应于相应博客的源代码,运行Demo时请先调试服务端,然后开启客户端,如果缺少HttpClient对应的dll,请通过NuGet下载
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WebAPIClient
{
public partial class FormTest : Form
{
public FormTest()
{
InitializeComponent();
}
private void Form1_Load(object sender EventArgs e)
{
}
private void btn_SelectFile_Click(object sender EventArgs e)
{
if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
{
if (this.openFileDialog1.FileNames != null && this.openFileDialog1.FileNames.Length > 0)
{
foreach (var file in this.openFileDialog1.FileNames)
{
var idx = this.gv_File.Rows.Add();//将选择的文件路径添加到相应的DataGridView中
this.gv_File.Rows[idx].Cells[0].Value = file;
}
}
}
}
private void btRequest_Click(object sender EventArgs e)
{
this.txtResponse.Text = string.Empty;
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(“text/“ + this.cmbResponseContentType.Text.ToLower()));//设定要响应的数据格式
using (var content = new MultipartFormDataContent())//表明是通过multipart/form-data的方式上传数据
{
var formDatas = this.GetFormDataByteArrayContent(this.GetNameValueCollection(this.gv_FormData));//获取键值集合对应的ByteArrayContent集合
var files = this.GetFileByteArrayContent(this.GetHashSet(this.gv_File));//获取文件集合对应的ByteArrayContent集合
Action> act = (dataContents) =>
{//声明一个委托,该委托的作用就是将ByteArrayContent集合加入到MultipartFormDataContent中
foreach (var byteArrayContent in dataContents)
{
content.Add(byteArrayContent);
}
};
act(formDatas);//执行act
act(files);//执行act
try
{
var result = client.PostAsync(this.txtUrl.Text content).Result;//post请求
this.txtResponse.Text = result.Content.ReadAsStringAsync().Result;//将响应结果显示在文本框内
}
catch (Exception ex)
{
this.txtResponse.Text = ex.ToString();//将异常信息显示在文本框内
}
}
}
}
///
/// 获取文件集合对应的ByteArrayContent集合
///
/
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 187 2015-04-07 19:42 WebAPIFileDemo\WebAPIClient\App.config
文件 6246 2015-04-30 12:41 WebAPIFileDemo\WebAPIClient\Form1.cs
文件 14302 2015-04-30 11:43 WebAPIFileDemo\WebAPIClient\Form1.Designer.cs
文件 7174 2015-04-30 11:43 WebAPIFileDemo\WebAPIClient\Form1.resx
文件 1453 2015-04-29 22:06 WebAPIFileDemo\WebAPIClient\obj\Debug\DesignTimeResolveAssemblyReferences.cache
文件 7158 2015-04-30 10:01 WebAPIFileDemo\WebAPIClient\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 0 2015-04-07 19:42 WebAPIFileDemo\WebAPIClient\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
文件 0 2015-04-07 19:42 WebAPIFileDemo\WebAPIClient\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
文件 0 2015-04-07 19:42 WebAPIFileDemo\WebAPIClient\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
文件 726 2015-04-30 12:55 WebAPIFileDemo\WebAPIClient\obj\Debug\WebAPIClient.csproj.FileListAbsolute.txt
文件 527 2015-04-30 10:44 WebAPIFileDemo\WebAPIClient\Program.cs
文件 1366 2015-04-07 19:42 WebAPIFileDemo\WebAPIClient\Properties\AssemblyInfo.cs
文件 2876 2015-04-07 19:42 WebAPIFileDemo\WebAPIClient\Properties\Resources.Designer.cs
文件 5612 2015-04-07 19:42 WebAPIFileDemo\WebAPIClient\Properties\Resources.resx
文件 1099 2015-04-07 19:42 WebAPIFileDemo\WebAPIClient\Properties\Settings.Designer.cs
文件 249 2015-04-07 19:42 WebAPIFileDemo\WebAPIClient\Properties\Settings.settings
文件 3889 2015-04-07 19:43 WebAPIFileDemo\WebAPIClient\WebAPIClient.csproj
文件 2174 2015-04-07 19:40 WebAPIFileDemo\WebAPIFileDemo\App_Start\BundleConfig.cs
文件 280 2015-04-07 19:40 WebAPIFileDemo\WebAPIFileDemo\App_Start\FilterConfig.cs
文件 605 2015-04-07 19:40 WebAPIFileDemo\WebAPIFileDemo\App_Start\RouteConfig.cs
文件 1115 2015-04-07 19:40 WebAPIFileDemo\WebAPIFileDemo\App_Start\WebApiConfig.cs
文件 2499 2015-04-30 12:34 WebAPIFileDemo\WebAPIFileDemo\Controllers\ValuesController.cs
文件 32038 2015-04-07 19:40 WebAPIFileDemo\WebAPIFileDemo\favicon.ico
文件 109 2015-04-07 19:40 WebAPIFileDemo\WebAPIFileDemo\Global.asax
文件 822 2015-04-07 19:40 WebAPIFileDemo\WebAPIFileDemo\Global.asax.cs
文件 11592 2015-04-30 10:01 WebAPIFileDemo\WebAPIFileDemo\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 0 2015-04-07 19:40 WebAPIFileDemo\WebAPIFileDemo\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
文件 0 2015-04-07 19:40 WebAPIFileDemo\WebAPIFileDemo\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
文件 0 2015-04-07 19:40 WebAPIFileDemo\WebAPIFileDemo\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
文件 6789 2015-04-30 12:55 WebAPIFileDemo\WebAPIFileDemo\obj\Debug\WebAPIFileDemo.csproj.FileListAbsolute.txt
............此处省略56个文件信息
相关资源
- XunFeiVoiceWebAPI.zip
- webapi + mongodb 基础 代码简单易懂 直接
- WebApi寄宿到控制台的一个程序
- Web API安装swagger控件,自动生成api接口
- qt调用讯飞实时语音接口WEBAPI
- Web API的设计与开发高清.pdf版
-
音乐播放插件Apla
yer+WebAPI的使用 - 调用WebApi接口上传文件
- WebApi和访问WebApi两个项目更新过
- WebApi和访问WebApi两个项目
- WebApi和访问WebApi
- Owin自宿主WebApi和Odata服务
- RESTfulWebAPIs中文版.rar
- MVC实现的webApi接口
- Postman-linux-x64-7.30.1.tar.gz
- XunFeiYuyinWebApi完整版.7z
- Web API的设计与开发.7z
- NetCore WebApi的版本控制(包含源码)
- .Net WebAPi JWT身份验证
- WebApi授权拦截——重写AuthorizeAttribu
- .net 后台Post,get方式调用webapi
- WebApi系列-通过HttpClient来调用WebApi接口
- K3 CLOUD WEBAPI接口说明书
- WebAPI
- k3cloud WEBAPI调用
- 金蝶云K3/cloudwebapi 开发
- qt qml使用高德地图的WebAPI获取静态地
- easywebapi.zip
- netcore+webapi+jwt+oauth2+swagger的
- Webapi 文件上传
评论
共有 条评论