Important: UNet adalah solusi yang diuraikan, dan Solusi Multiplayer baru dan NetworkingSistem Unity yang memungkinkan game multiplayer di jaringan komputer. More info Lihat di Glossary (Netcode untuk GameObjects) sedang berkembang. Untuk informasi lebih lanjut dan langkah selanjutnya melihat informasi di . |
Ada dua fungsi utama untuk mengirim data ke server yang diformat sebagai bentuk HTML. Jika Anda bermigrasi dari sistem WWW, lihat Using WWWForm, di bawah ini.
Untuk memberikan kontrol yang lebih besar tentang bagaimana Anda menentukan data formulir Anda, sistem UnityWebRequest
mengandung antarmuka IMultipartFormSection
yang dapat digunakan pengguna. Untuk aplikasi standar, Unity juga menyediakan implementasi default untuk data dan bagian file: MultipartFormDataSection
dan MultipartFormFileSection
.
Kelebihan dari UnityWebRequest.POST
menerima, sebagai parameter kedua, argumen Daftar, yang anggota harus semua menjadi IMultipartFormSections
. Tanda tangan fungsi:
UnityWebRequest.Post(string url, List<IMultipartFormSection> formSections);
UnityWebRequest
dan mengatur URL target ke parameter string pertama. Ini juga menetapkan header Content-Type dari UnityWebRequest
tepat untuk data formulir yang ditentukan dalam daftar objek IMultipartFormSection
.DownloadHandlerBuffer
ke UnityWebRequest
. Ini untuk kenyamanan - Anda dapat menggunakan ini untuk memeriksa balasan server Anda.WWWForm POST
, fungsi HLAPI ini memanggil setiap IMultipartFormSection
yang dipasok dan memformatnya menjadi bentuk multipart standar sebagaimana ditentukan dalam RFC 2616.UploadHandlerRaw
, yang kemudian melekat pada UnityWebRequest
. Akibatnya, perubahan pada objek IMultipartFormSection
yang dilakukan setelah panggilan UnityWebRequest.POST
tidak tercermin dalam data yang dikirim ke server.using UnityEngine;
using UnityEngine.Networking;
using System.Collections;
using System.Collections.Generic;
public class MyBehavior : MonoBehaviour
{
void Start()
{
StartCoroutine(Upload());
}
IEnumerator Upload()
{
List<IMultipartFormSection> formData = new List<IMultipartFormSection>();
formData.Add(new MultipartFormDataSection("field1=foo&field2=bar"));
formData.Add(new MultipartFormFileSection("my file data", "myfile.txt"));
UnityWebRequest www = UnityWebRequest.Post("https://www.my-server.com/myform", formData);
yield return www.SendWebRequest();
if (www.result != UnityWebRequest.Result.Success)
{
Debug.Log(www.error);
}
else
{
Debug.Log("Form upload complete!");
}
}
}
Untuk membantu bermigrasi dari sistem WWW, sistem UnityWebRequest memungkinkan Anda untuk menggunakan objek WWWForm lama untuk menyediakan data formulir.
Dalam hal ini, tanda tangan fungsi adalah:
UnityWebRequest.Post(string url, WWWForm formData);
UnityWebRequest
baru dan menetapkan URL target ke nilai argumen string pertama. Ini juga membaca header kustom yang dihasilkan oleh argumen WWWForm
(seperti Content-Type) dan menyalinnya ke dalam UnityWebRequest
.DownloadHandlerBuffer
ke UnityWebRequest
. Ini untuk kenyamanan - Anda dapat menggunakan ini untuk memeriksa balasan server Anda.WWWForm object
dan penyangga dalam objek UploadHandlerRaw
, yang melekat pada UnityWebRequest
. Oleh karena itu, perubahan pada objek WWWForm
setelah memanggil UnityWebRequest.POST
tidak mengubah isi UnityWebRequest
.using UnityEngine;
using UnityEngine.Networking;
using System.Collections;
public class MyBehavior : MonoBehaviour {
void Start() {
StartCoroutine(Upload());
}
IEnumerator Upload() {
WWWForm form = new WWWForm();
form.AddField("myField", "myData");
UnityWebRequest www = UnityWebRequest.Post("https://www.my-server.com/myform", form);
yield return www.SendWebRequest();
if (www.result != UnityWebRequest.Result.Success) {
Debug.Log(www.error);
}
else {
Debug.Log("Form upload complete!");
}
}
}