>백엔드 개발 >C++ >C#을 사용하여 HTTP POST를 통해 파일을 보내는 방법: 종합 가이드

C#을 사용하여 HTTP POST를 통해 파일을 보내는 방법: 종합 가이드

Susan Sarandon
Susan Sarandon원래의
2025-01-11 19:26:43578검색

How to Send Files via HTTP POST Using C#: A Comprehensive Guide

C# HTTP POST 파일 업로드에 대한 자세한 설명

이 기사에서는 C#을 사용하여 웹 서버에 파일을 업로드하는 방법을 자세히 소개합니다. 이는 Windows 애플리케이션 개발의 일반적인 요구 사항이며 HTTP 양식 요청의 원칙에 대한 이해가 필요합니다.

HttpWebRequest를 사용하여 구현됨(.NET 4.5 이전에 적용 가능)

.NET 4.5 이전에는 파일 업로드 시 일반적으로 기존 HttpWebRequest 개체를 사용했습니다. 단계는 다음과 같습니다.

  1. URI, 메소드 및 기타 필수 헤더를 지정하여 HttpWebRequest 객체를 생성합니다.
  2. req.GetRequestStream()을 호출하여 HttpStream 객체를 생성합니다.
  3. 스트림에 업로드할 파일의 내용을 읽어보세요.

샘플 코드:

<code class="language-csharp">HttpWebRequest req = WebRequest.Create(uri) as HttpWebRequest;
req.KeepAlive = false;
req.Method = "POST";
req.ContentType = file.ContentType;
req.ContentLength = file.Length;
using (Stream requestStream = req.GetRequestStream())
using (Stream fileStream = File.OpenRead(file.FileName))
{
    fileStream.CopyTo(requestStream);
}</code>

HttpClient 및 MultipartFormDataContent를 사용하여 구현됨(.NET 4.5 이상)

.NET 4.5 이상(또는 .NET 4.0에서 "Microsoft.Net.Http" NuGet 패키지 사용)에서는 HttpClient 및 MultipartFormDataContent를 사용하여 양식 요청을 더 쉽게 시뮬레이션할 수 있습니다.

샘플 코드:

<code class="language-csharp">private async Task<Stream> Upload(string actionUrl, string paramString, Stream paramFileStream, byte[] paramFileBytes)
{
    HttpContent stringContent = new StringContent(paramString);
    HttpContent fileStreamContent = new StreamContent(paramFileStream);
    HttpContent bytesContent = new ByteArrayContent(paramFileBytes);
    using (var client = new HttpClient())
    using (var formData = new MultipartFormDataContent())
    {
        formData.Add(stringContent, "param1", "param1");
        formData.Add(fileStreamContent, "file1", "file1");
        formData.Add(bytesContent, "file2", "file2");
        var response = await client.PostAsync(actionUrl, formData);
        if (response.IsSuccessStatusCode)
        {
            return await response.Content.ReadAsStreamAsync();
        }
    }
    return null;
}</code>

위 단계를 따르면 C# 애플리케이션을 사용하여 HTTP POST를 통해 웹 서버에 파일을 쉽게 업로드할 수 있습니다.

위 내용은 C#을 사용하여 HTTP POST를 통해 파일을 보내는 방법: 종합 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.