UnityからNodeJS APIに画像を送信しようとしていますが、残念ながらそれを動作させることはできません。ここに私のC#のコードの抜粋です: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の関連部分1:
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...");
})
}
}
要求は、APIによって送信されたが受信されることはありません(私は503不正なゲートウェイを取得します) 。私は同じリクエストを試みますユニティとそれは働くようです(郵便配達:バイナリとして添付された画像で基本的な投稿要求を使用して)。
私は間違いを犯しましたか、これを達成する別の方法がありましたか? ありがとう!
編集:最後にapplication/octet-stream
をtext/html
に変更して問題を解決しました。 Nodejにデータを送信するより良い方法があれば、私はまだ興味があります
私はUnityWebRequestを見たことがありませんでした。私はこれを見ていきます。 –
私はそれらの同じ文書を見ていて、それが示唆していることをやっています...私はPOST要求をするためにそれを得ることができますが、私が含めることを試みているデータは含まれていません。私が間違っていることを驚かす... – jckstl