HTTP POST Multipart/Form-Data를 사용하여 SQLite 데이터베이스 및 문자열 매개변수를 Windows Phone 8 애플리케이션의 PHP 웹 서비스에 업로드
도전:
Windows Phone 8 앱은 "userid"라는 추가 문자열 매개변수와 함께 멀티파트/양식 데이터 인코딩이 포함된 HTTP POST를 사용하여 SQLite 데이터베이스를 PHP 웹 서비스에 업로드할 수 있어야 합니다. 그러나 기존 코드 시도는 실패했습니다.
해결책:
1. HttpWebRequest 및 MultipartFormDataContent 사용:
A. 새 HttpWebRequest 개체를 만듭니다.
<code class="language-csharp">HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create("http://www.myserver.com/upload.php");</code>
B. 콘텐츠 유형 및 방법 설정:
<code class="language-csharp">httpWebRequest.ContentType = "multipart/form-data"; httpWebRequest.Method = "POST";</code>
C. MultipartFormDataContent 객체 생성:
<code class="language-csharp">using (var content = new MultipartFormDataContent()) { // 添加文件字节 var streamContent = new StreamContent(new MemoryStream(file_bytes)); content.Add(streamContent, "profile_pic", "hello1.jpg"); // 文件名 "hello1.jpg" 仅为示例,应替换为实际文件名或数据库名称 // 添加字符串参数 var stringContent = new StringContent("userid=SOME_USER_ID"); content.Add(stringContent, "userid"); }</code>
D. 콘텐츠 사용 및 요청 보내기:
<code class="language-csharp">httpWebRequest.ContentLength = content.Length; await httpWebRequest.GetRequestStream().WriteAsync(await content.ReadAsByteArrayAsync(), 0, content.Length);</code>
2. HttpClient 및 MultipartFormDataContent 사용:
A. 새 HttpClient 및 MultipartFormDataContent 개체를 만듭니다.
<code class="language-csharp">HttpClient httpClient = new HttpClient(); using (var content = new MultipartFormDataContent()) { // 添加文件字节 content.Add(new StreamContent(new MemoryStream(file_bytes)), "database", "database.db"); // 使用更具描述性的名称 "database" 和 "database.db" // 添加字符串参数 content.Add(new StringContent("userid=SOME_USER_ID"), "userid"); }</code>
B. POST 요청 보내기:
<code class="language-csharp">HttpResponseMessage response = await httpClient.PostAsync("http://www.myserver.com/upload.php", content);</code>
파일 크기 문제 해결:
database.db
대신 hello1.jpg
과 같이 보다 구체적인 파일 이름을 사용하세요. 이렇게 하면 코드 가독성과 유지 관리성이 향상됩니다. 이 수정된 응답에서는 더 명확한 설명을 제공하고 코드 예제를 개선하여 더 명확하고 유지 관리하기 쉽도록 했습니다.
위 내용은 Windows Phone 8 애플리케이션에서 HTTP POST Multipart/Form-Data를 사용하여 SQLite 데이터베이스 및 문자열 매개변수를 PHP 웹 서비스에 업로드하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!