Unity 怎么通过地址来下载文件,不用WWW
时间: 2024-09-21 19:10:53 浏览: 27
在Unity中,如果你不想使用`WWW`类来下载文件,可以利用`System.Net`命名空间下的功能来实现异步文件下载。下面是一个简单的示例,展示了如何使用`HttpClient`来下载文件:
```csharp
using System;
using System.IO;
using System.Net.Http;
public class FileDownloader : MonoBehaviour
{
public string url; // 需要下载的文件URL
void Start()
{
StartCoroutine(DownloadFile());
}
IEnumerator DownloadFile()
{
using (var httpClient = new HttpClient())
{
try
{
var request = new HttpRequestMessage(HttpMethod.Get, url);
HttpResponseMessage response = await httpClient.SendAsync(request);
if (response.IsSuccessStatusCode)
{
string filePath = "path/to/save/downloaded/file"; // 替换为你保存文件的实际路径
byte[] data = await response.Content.ReadAsByteArrayAsync();
using (FileStream fileStream = new FileStream(filePath, FileMode.Create))
{
fileStream.Write(data, 0, data.Length);
}
Debug.Log($"File downloaded successfully at {filePath}");
}
else
{
Debug.LogError($"Failed to download file with status code: {response.StatusCode}");
}
}
catch (Exception e)
{
Debug.LogError("Error occurred during download: " + e.Message);
}
}
}
}
```
在这个例子中,我们创建了一个`HttpClient`实例并发送GET请求到指定URL。如果响应状态码表示成功(例如200),我们就读取响应内容到字节数组,并将其写入到本地文件系统。