HttpClient 测试web API上传文件实例
1.使用HttpClient 测试上传文件并且设置header信息:
using Lemon.Common; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net.Http; using System.Net.Http.Headers; using System.Text; using System.Threading.Tasks; namespace Lemon.Media.Test { class Program { static void Main(string[] args) { using (var client = new HttpClient()) using (var content = new MultipartFormDataContent()) { // Make sure to change API address client.BaseAddress = new Uri("http://localhost:17698/"); var strContent = new StringContent(JsonConvert.SerializeObject(new { Title = "demo", Content = "demo", Duration = 10 })); // Add first file content var fileContent1 = new ByteArrayContent(File.ReadAllBytes(@"c:\1110485onqnfwqkfofoz0j.jpg")); fileContent1.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = "485onqnfwqkfof.jpg", Name = "5onqnfwqkfofo.jpg" }; // Add Second file content var fileContent2 = new ByteArrayContent(File.ReadAllBytes(@"c:\demo.mp4")); fileContent2.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = "demo.mp4", Name = "demo.mp4" }; content.Headers.Add("SecretKey", "demo"); content.Headers.Add("AppKey", "demo"); content.Add(strContent); content.Add(fileContent1); content.Add(fileContent2); var result = client.PostAsync("/Videos/AddVideos", content).Result; Console.WriteLine(result.StatusCode); Console.ReadLine(); } } } }