資源簡介
對應于相應博客的源代碼,運行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()));//設定要響應的數(shù)據(jù)格式
????????????????using?(var?content?=?new?MultipartFormDataContent())//表明是通過multipart/form-data的方式上傳數(shù)據(jù)
????????????????{
????????????????????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);//執(zhí)行act
????????????????????act(files);//執(zhí)行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個文件信息
評論
共有 條評論