我正在尝试使用 UnityWebRequest.Post() 上传多个文件,这是我的代码。 public void UploadFiles() { string[] path = new string[3]; path[0] = "D:/File1.txt"; path[1] = "D:/File2.txt"; path[2] = "D:/File3.txt"; UnityWebRequest[] files = new UnityWebRequest[3]; WWWForm form = new WWWForm(); for (int i = 0; i < files.Length; i++) { files[i] = UnityWebRequest.Get(path[i]); form.AddBinaryData("files[]", files[i].downloadHandler.data, Path.GetFileName(path[i])); } UnityWebRequest req = UnityWebRequest.Post("http://localhost/File%20Upload/Uploader.php", form); yield return req.SendWebRequest(); if (req.isHttpError || req.isNetworkError) Debug.Log(req.error); else Debug.Log("Uploaded " + files.Length + " files Successfully"); }然而,文件是在目的地创建的,大小为 0 字节。这是我的 Uploader.php 代码 <$php $total = count($_FILES['files']['name']); $uploadError = false; for ( $i = 0; $i < $total; $i++) { $tmpFilePath = $_FILES['files']['tmp_name'][$i]; if ($tmpFilePath != "") { $newFilePath = "Uploads/".$_FILES['files']['name'][$i]; if (!move_uploaded_file($tmpFilePath, $newFilePath)) $uploadError = true; } } if ($uploadError) echo "Upload Error"; else echo "Uploaded Successfully"; ?>我使用这个 HTML 示例作为参考。而在浏览器中,HTML 代码完美运行。Unity 中存在问题。 <form enctype="multipart/form-data" action="Uploader.php" method="POST"> Choose a file to Upload: <input type="file" name="files[]" multiple="multiple" /><br> <input type="submit" value="Upload File" /> </form>
1 回答
- 1 回答
- 0 关注
- 946 浏览
添加回答
举报
0/150
提交
取消