| 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!");
}
}
}