Unity 获取远程文件大小
时间: 2023-08-22 20:03:32 浏览: 42
要获取远程文件的大小,可以使用 UnityWebRequest 类的 HEAD 请求。HEAD 请求只会获取目标资源的头部信息,而不会下载整个资源,因此可以快速获取文件大小。
以下是示例代码:
```csharp
IEnumerator GetFileSize(string url)
{
UnityWebRequest request = UnityWebRequest.Head(url);
yield return request.SendWebRequest();
if (request.result == UnityWebRequest.Result.ConnectionError || request.result == UnityWebRequest.Result.ProtocolError)
{
Debug.LogError(request.error);
yield break;
}
long fileSize = long.Parse(request.GetResponseHeader("Content-Length"));
Debug.Log("File size: " + fileSize);
}
```
在上面的代码中,我们发送了一个 HEAD 请求,然后获取了响应的头部信息。我们可以通过调用 `GetResponseHeader` 方法来获取指定头部字段的值,这里我们获取了 Content-Length 字段的值,即文件大小。
需要注意的是,Content-Length 字段的值是一个字符串类型,我们需要将它解析成 long 类型。同时,如果请求发生错误,我们也会在控制台输出错误信息。