Ich möchte eine Imageanfrage zwischen Django und Unity. Ich möchte also die Bilddaten mit UnityWebRequest an Json Type senden.
Der folgende Quellcode ist Unity C # -Code.
public void onClickSendButton(){
coroutine = ServerThrows();
StartCoroutine(coroutine);
}
IEnumerator ServerThrows()
{
string imageAsJson = File.ReadAllText(imagePath);
byte[] bodyRaw = System.Text.Encoding.UTF8.GetBytes(imageAsJson);
UnityWebRequest www = new UnityWebRequest(url, "POST");
www.uploadHandler = (UploadHandler) new UploadHandlerRaw(bodyRaw);
www.downloadHandler = (DownloadHandler) new DownloadHandlerBuffer();
www.chunkedTransfer = false;
www.SetRequestHeader("Content-Type","application/json");
yield return www.SendWebRequest();
if(www.isNetworkError||www.isHttpError){
Debug.Log(www.error);
}
else
{
GetResponse(www);
}
}
Hier ist der Django Server Code:
def fromunity(request):
data = json.loads(request.body.decode("utf-8"))
print(data)
print(request.content_type)
return HttpResponse()
Wenn ich in Unity eine Anforderung über onClickSendButton sende, zeigt Django Server die folgenden Ergebnisse: Bildbeschreibung hier eingeben
(json.decoder.JSONDecodeError: Erwartungswert: Zeile 1 Spalte 1 (Char 0))
Was muss ich je nach den oben genannten Ergebnissen des Django-Servers tun?
Antworten:
0 für die Antwort № 1Dies war eine Frage, in welcher Form Json gemacht wurde. Json kann Unitys wwwform einfach als String darstellen. Ich könnte die Form also wie folgt konstruieren.
string form = "{"image":"String representation of the image"}"
Es war meine Unkenntnis von Json.