unity3d c# httpost 上传文件 如何设置超时时间
时间: 2023-08-13 15:05:00 浏览: 125
在 Unity3D 中使用 C# 进行 HttpPost 上传文件,可以通过设置超时时间来避免等待超时的问题。具体实现如下:
```csharp
public IEnumerator HttpPost(string url, byte[] fileData)
{
UnityWebRequest request = new UnityWebRequest(url, "POST");
// 设置上传的文件数据
request.uploadHandler = (UploadHandler)new UploadHandlerRaw(fileData);
// 设置文件类型
request.SetRequestHeader("Content-Type", "application/octet-stream");
// 设置超时时间
request.timeout = 30;
// 发送请求
yield return request.SendWebRequest();
if (request.isHttpError || request.isNetworkError)
{
Debug.LogError(request.error);
}
else
{
Debug.Log("Upload complete!");
}
}
```
在上面的代码中,我们通过设置 `request.timeout` 属性来设置超时时间,这里设置为 30 秒钟。如果在 30 秒内没有完成上传,就会触发等待超时的错误。如果上传成功,就会输出日志信息 "Upload complete!"。如果上传失败,就会输出错误信息。
需要注意的是,在使用 UnityWebRequest 发送请求时,需要使用协程来处理异步操作。因此,在上面的代码中,我们使用了 `yield return request.SendWebRequest()` 来等待请求的完成。
阅读全文