/ / So senden Sie Bilder von Unity über Djson nach Django - Json, Django, Unity3d, Anfrage

Wie man Bilder von Unity nach Django über den JSON-Typ sendet - json, django, unity3d, request

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 № 1

Dies 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.