unity 上传文件到服务器,如何使用 UnityWebRequest.Post() 将多个文件上传到服务器;...
时间: 2024-02-02 15:05:31 浏览: 192
上传文件到服务器
可以使用 `MultipartFormDataSection` 类来创建多个文件的表单数据,然后通过 `UnityWebRequest.Post()` 方法将表单数据上传到服务器。以下是一个示例代码:
```csharp
IEnumerator UploadFiles(string url, List<string> filePaths)
{
// 创建一个表单数据对象
var formData = new List<IMultipartFormSection>();
// 将每个文件添加到表单数据对象中
foreach (var filePath in filePaths)
{
var fileData = File.ReadAllBytes(filePath);
formData.Add(new MultipartFormDataSection("file", fileData, Path.GetFileName(filePath)));
}
// 创建一个 UnityWebRequest 对象,并将表单数据传递给它
using (var request = UnityWebRequest.Post(url, formData))
{
// 发送请求并等待响应
yield return request.SendWebRequest();
// 检查是否有错误发生
if (request.result != UnityWebRequest.Result.Success)
{
Debug.LogError($"Failed to upload files: {request.error}");
yield break;
}
// 请求成功,打印服务器响应
Debug.Log($"Server response: {request.downloadHandler.text}");
}
}
```
在上面的代码中,`filePaths` 参数是一个包含要上传的文件路径的字符串列表。在 `foreach` 循环中,我们将每个文件读取为字节数组,并将其添加到 `formData` 表单数据对象中。然后,我们使用 `UnityWebRequest.Post()` 方法将表单数据上传到服务器。在请求完成后,我们检查响应是否成功,并打印服务器响应。
阅读全文