C# 通过HttpClient 发送及接收文件

Client端:

复制代码
public static UploadMediaResponseModel HttpRequest(string url, UploadMediaRequestModel requestParam, HttpMethod method, string refName)
        {
            var request = new HttpRequestMessage(method, url);

            var mediaContent = new MultipartFormDataContent();
            mediaContent.Add(new ByteArrayContent(requestParam.binary_media_data), "binary_media_data", refName);//此处ByteArrayContent内的比特流也可以直接从本地文件读取
            request.Content = mediaContent;
            var httpClient = new HttpClient();
            var response = httpClient.Send(request);
            if (response.IsSuccessStatusCode)
            {
                var resString = response.Content.ReadAsStringAsync().Result;
                return JsonConvert.DeserializeObject<UploadMediaResponseModel>(resString);
            }
            else
            {
                throw new HttpRequestException($"HttpClientBusiness.HttpRequest error,url:{url}/{method},param:{JsonConvert.SerializeObject(requestParam)},response:JsonConvert.SerializeObject(response)");
            }
        }
复制代码

 

Server端:

public void UploadImg() 
        {
            var savePath= $"{Directory.GetCurrentDirectory()}/test/";
            using (FileStream output = new FileStream(savePath + Request.Form.Files[0].FileName, FileMode.Create))
            {
                Request.Form.Files[0].CopyTo(output);
            }
        }

 

posted @   along_bro  阅读(1496)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示