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();  
            } 
        }
    }
}

 

posted @ 2016-04-22 13:32  好学Ace  阅读(645)  评论(0编辑  收藏  举报