Uinty下载文件保存到本地

本文介绍如何在Unity中使用协程实现文件的下载,并将下载的文件保存到指定路径。通过示例代码展示了下载过程及进度查看方法。

FileInfo file;

void Action () {

string UrlPath = "下载的文件地址";

string LocalPath = "保存文件地址";

StartCoroutine( DownFile (UrlPath) );

}

//协程下载文件

IEnumerator DownFile (string url) {

WWW www = new WWW(url); 

yield return www; 

//判断是否加载完成

if (www.isDone) { Debug.Log("下载完成"); 

  byte[] bytes = www.bytes;

 CreatFile( LocalPath , bytes);

}

}

    /// <summary>

    /// 创建文件

    /// </summary>

    /// <param name="bytes"></param>

    void CreatFile(string path, byte[] bytes)

    {

        //文件流信息  

        //StreamWriter sw;  

        Stream sw;

        file = new FileInfo(path );

        if (!t.Exists)

        {

            //如果此文件不存在则创建  

            sw = file .Create();

        }

        else

        {

            //如果此文件存在则打开  

            //sw = file .Append();  

            return;

        }

        //以行的形式写入信息  

        //sw.WriteLine(info);  

        sw.Write(bytes, 0, bytes.Length);

        //关闭流  

        sw.Close();

        //销毁流  

        sw.Dispose();

    }

 

///查看下载文件进度

获取www.progress(注:下载完毕后值为99%)

在Unity中,你可以使用WWW类来下载文件本地。首先,你需要指定要下载文件的URL地址。然后,你可以使用WWW类的构造函数来创建一个WWW对象,并将URL作为参数传递进去。接下来,你可以使用WWW对象的Download方法来开始下载文件下载完成后,你可以使用WWW对象的bytes属性来获取下载文件数据。最后,你可以将文件保存本地磁盘上。以下是一个示例代码,演示了如何使用WWW类来下载文件本地: ```csharp IEnumerator DownloadFile(string url, string savePath) { // 创建一个WWW对象,并指定要下载文件的URL地址 WWW www = new WWW(url); // 等待下载完成 yield return www; // 检查是否有错误发生 if (string.IsNullOrEmpty(www.error)) { // 下载成功,将文件保存本地磁盘上 File.WriteAllBytes(savePath, www.bytes); Debug.Log("文件下载成功!"); } else { // 下载失败,打印错误信息 Debug.LogError("文件下载失败:" + www.error); } } ``` 你可以将上述代码放在一个协程中调用,以便在Unity中异步下载文件。在调用DownloadFile方法时,你需要传递要下载文件的URL地址和保存文件的路径。请确保在使用该代码之前,你已经导入了System.IO命名空间,以便使用File类来保存文件本地磁盘上。 参考资料: \[1\] unity下载模型到本地并加载_我无方位盲猜吉凶的博客-优快云博客 \[2\] unity下载模型到本地并加载 - 优快云搜索 \[3\] 在Unity中下载文件本地 - 优快云博客 #### 引用[.reference_title] - *1* *2* [unity下载模型到本地并加载](https://blog.youkuaiyun.com/qq_40544338/article/details/124556109)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [unity从服务器下载资源并且存储到本地](https://blog.youkuaiyun.com/qq_31157943/article/details/103355904)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值