• 大小: 403KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-06
  • 语言: 其他
  • 标签: WebAPI  

资源简介

对应于相应博客的源代码,运行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个文件信息

评论

共有 条评论