> 백엔드 개발 > C++ > Windows Phone 8 및 Windows 8에서 HTTP POST Multipart/Form-Data를 통해 파일을 업로드하는 방법은 무엇입니까?

Windows Phone 8 및 Windows 8에서 HTTP POST Multipart/Form-Data를 통해 파일을 업로드하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2025-01-21 04:04:17
원래의
534명이 탐색했습니다.

How to Upload Files via HTTP POST Multipart/Form-Data in Windows Phone 8 and Windows 8?

Windows Phone 8 및 Windows 8은 HTTP POST Multipart/Form-Data를 사용하여 서버에 파일을 업로드합니다

Windows Phone 8 또는 Windows 8에서 HTTP POST multipart/form-data를 사용하여 서버에 파일을 업로드하려면 다음 단계를 따라야 합니다.

HttpWebRequest를 사용하여 파일 업로드를 시도하는 코드 조각을 제공하셨습니다. 그러나 코드에는 수정해야 할 몇 가지 문제가 있습니다.

  • var file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(DBNAME); 이 코드는 로컬 저장소가 아닌 패키지 설치 디렉터리에서 파일을 가져옵니다. var file = await ApplicationData.Current.LocalFolder.GetFileAsync(DBNAME);으로 바꿔야 합니다.
  • var res = await HttpPost(Util.UPLOAD_BACKUP, fileBytes); 이 코드는 비동기 HTTP POST 요청을 시작하지만 결과를 기다리지 않습니다. res.Wait();을 호출하여 결과를 기다려야 합니다.
  • 현재 구현된 HttpPost 메서드는 다중 부분/양식 데이터 요청을 지원하지 않습니다. HttpContentMultipart 인스턴스를 생성하고 파일 콘텐츠와 기타 매개변수를 멀티파트 콘텐츠에 추가해야 합니다.

다음은 multipart/form-data를 사용하여 파일을 업로드하도록 코드를 수정하는 방법의 예입니다.

<code class="language-csharp">//假设您还有一个名为“userid”的字符串变量,其中包含用户 ID
private async void HttpPost(byte[] fileBytes)
{
    HttpClient httpClient = new HttpClient();
    MultipartFormDataContent multipartContent = new MultipartFormDataContent();
    HttpContent fileContent = new ByteArrayContent(fileBytes);
    multipartContent.Add(fileContent, "file", "filename.db");
    multipartContent.Add(new StringContent(userid), "userid", "userdata.txt");

    var response = await httpClient.PostAsync("http://www.myserver.com/upload.php", multipartContent);
    // ...
}</code>
로그인 후 복사

Windows 8에서는 HttpClient 클래스를 사용하여 multipart/form-data를 사용하여 파일을 업로드할 수 있습니다. 수행 방법의 예는 다음과 같습니다.

<code class="language-csharp">//假设您还有一个名为“userid”的字符串变量,其中包含用户 ID
public async Task Upload(byte[] fileBytes)
{
    using (HttpClient httpClient = new HttpClient())
    {
        using (MultipartFormDataContent form = new MultipartFormDataContent())
        {
            form.Add(new StringContent(username), "username");
            form.Add(new StringContent(useremail), "email");
            form.Add(new StringContent(password), "password");
            form.Add(new ByteArrayContent(fileBytes, 0, fileBytes.Length), "profile_pic", "hello1.jpg");
            HttpResponseMessage response = await httpClient.PostAsync("http://www.myserver.com/upload.php", form);
            // ...
        }
    }
}</code>
로그인 후 복사

위 내용은 Windows Phone 8 및 Windows 8에서 HTTP POST Multipart/Form-Data를 통해 파일을 업로드하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿