Unity에서 NodeJS API로 이미지를 보내려고했지만 불행히도 작동하지 않습니다.Unity3D의 이미지로 POST 요청 보내기
private string POSTUrl = "http://myNodeJSAPI.com/upload-image";
private Dictionary<string, string> postHeader = new Dictionary<string, string>();
public WWW POST() {
WWW www;
postHeader["content-Type"] = "application/octet-stream";
postData = File.ReadAllBytes("Assets/Resources/ImageIWantToSend.png");
www = new WWW(POSTUrl, postData, postHeader);
StartCoroutine(WaitForRequest(www));
return www;
}
IEnumerator WaitForRequest(WWW www)
{
yield return www;
if (www.error == null)
{
Debug.Log("WWW Ok!: " + www.text);
}
else
{
Debug.Log("WWW Error: " + www.error);
}
}
여기 내 nodejs 하나의 관련 부분 : 여기 내 C# 코드의 추출물이
요청이 전송하지만, API에 의해 수신되지 않습니다app.post('/upload-image', rawBody, function (req, res) {
console.log("File received!");
if (req.rawBody && req.bodyLength > 0) {
fs.writeFile("/tmp/ImageIWantToSend.png", req.rawBody, function (err) {
if (err) {
return console.log(err);
}
console.log("Image has been saved! Starting other things...");
})
}
}
(I 503 불량 게이트웨이를 얻을 수) . 나는 같은 요청을 시도한다 Unity와 그것이 작동하는 것 같다 (Postman을 사용하는 것 : 바이너리로 이미지 첨부 된 기본 게시물 요청).
실수를 저질렀나요 아니면 이것을 달성 할 다른 방법이 있습니까? 감사합니다.
편집 : 마지막으로 application/octet-stream
을 text/html
으로 변경하여 문제를 해결했습니다. Nodej에 데이터를 보내는 더 좋은 방법이 있다면 나는 아직도 관심이있다.
오, 감사합니다. UnityWebRequest를 보지 못했습니다. 이것에 대해 살펴 보겠습니다. –
그 같은 문서를보고 있는데, 제안한대로하고 있습니다 ... POST 요청을 할 수는 있지만 포함시키려는 데이터는 포함되어 있지 않습니다. 내가 뭘 잘못하고 있는지 궁금해 ... – jckstl