LoginSignup
2
2

More than 3 years have passed since last update.

【Unity】UnityWebRequestで画像ファイルを送信してPHPで受け取る最小実装

Last updated at Posted at 2020-08-04

UnityWebRequestで画像ファイルを送信しPHPで受け取る最小の実装を備忘録として残します。

Unity側

前提条件として画像ファイルはバイト配列として取得している状態を作ります。

以前執筆したコチラの記事でTextureをPNGにエンコードしたバイト配列作成までを紹介しているので、参考になるかもしれません。
【Unity】RawImageのTextureをPNGにエンコードする方法

IEnumerator Send(byte[] bytes)
{
    var form = new WWWForm();
    // "file"はPHP側で$_FILESから取得するキー ex)$_FILES["file"]
    form.AddBinaryData("file", bytes, "image.png", "image/png");
    var req = UnityWebRequest.Post("http://localhost:8080/api.php", form);
    yield return req.SendWebRequest();
}

PHP側

api.php
$fileName = $_FILES["file"]["name"];
// api.phpと同じディレクトリに保存されます
move_uploaded_file($_FILES["file"]["tmp_name"], $fileName);

最後に

エラーハンドリングを考慮するとUnityもPHPも記述することはまだまだありますが、本記事では肝となる部分の実装のみを紹介しました。

環境

  • Unity2019.4.4f1
  • PHP 7.2.16
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2