unity3d c# httpost 上传文件并且获取返回
时间: 2023-08-29 21:08:01 浏览: 120
下面是一个示例代码,演示如何使用C#中的Unity3D进行HTTP POST上传文件并获取服务器返回的数据:
```csharp
IEnumerator UploadFile(string url, string filePath)
{
// 创建WWWForm对象
WWWForm form = new WWWForm();
// 添加要上传的文件
byte[] fileData = File.ReadAllBytes(filePath);
form.AddBinaryData("file", fileData, Path.GetFileName(filePath));
// 发送HTTP POST请求
using (UnityWebRequest www = UnityWebRequest.Post(url, form))
{
// 等待服务器响应
yield return www.SendWebRequest();
// 检查是否有错误发生
if (www.result == UnityWebRequest.Result.ConnectionError || www.result == UnityWebRequest.Result.ProtocolError)
{
Debug.LogError(www.error);
}
else
{
Debug.Log("上传成功!");
// 获取服务器返回的数据
string result = www.downloadHandler.text;
Debug.Log("服务器返回的数据:" + result);
}
}
}
```
使用时只需要调用`UploadFile`函数并传入要上传的文件路径和服务器URL即可。
需要注意的是,这个示例代码使用了UnityWebRequest类来发送HTTP请求,并使用了`downloadHandler`属性来获取服务器返回的数据。如果你的Unity版本太低,可以考虑使用WWW类来代替UnityWebRequest。
阅读全文