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 @   大空白纸  阅读(646)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示