unity unityWebRequest 通过http下载服务器资源

这篇具有很好参考价值的文章主要介绍了unity unityWebRequest 通过http下载服务器资源。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

直接下载不显示进度

    private void OnDownloadAssets()//下载资源
    {
        StartCoroutine(DownloadFormServer_IE(url, savePath));
    }

    //其他方法
    private IEnumerator DownloadFormServer_IE(string url, string path)//从服务器下载资源
    {
        Debug.Log("正在下载" + url);
        UnityWebRequest request = UnityWebRequest.Get(url);
        
        //直接下载不显示进度
        yield return request.SendWebRequest();

        if (request.result== UnityWebRequest.Result.ProtocolError || request.result== UnityWebRequest.Result.ConnectionError)
        {
            Debug.Log(request.responseCode);
            Debug.Log(request.ersror);
              yield break;
        }
        DownloadHandler downloadHandler = request.downloadHandler;
        if (!downloadHandler.isDone)
        {
            Debug.Log("正在下载");
            yield return downloadHandler;
        }
        else
        {
            Debug.Log("下载完成");
            byte[] data = request.downloadHandler.data;
            using (FileStream fs = new FileStream(path, FileMode.Create))
            {
                fs.Write(data, 0, data.Length);
            }
            this.SendEvent(new OnFinishDownloadOneAsset_AssetsManager());
        }
    }

显示下载进度
//注册事件的方法
private void OnDownloadAssets()//下载资源
{
GameController.Instance.StartCoroutine(DownloadFormServer_IE(url, savePath));
}文章来源地址https://www.toymoban.com/news/detail-831539.html

//其他方法
private IEnumerator DownloadFormServer_IE(string url, string path)//从服务器下载资源
{
    Debug.Log("正在下载" + url);
    UnityWebRequest request = UnityWebRequest.Get(url);

    //显示下载进度和速度
    request.SendWebRequest();
    if (request.result == UnityWebRequest.Result.ProtocolError || request.result == UnityWebRequest.Result.ConnectionError)
    {
        Debug.Log(request.responseCode);
        Debug.Log(request.error);
        yield break;
    }
    while (!request.isDone)
    {
       //下载速度
        string netSpeedStr = "0kb";
        if (request.downloadHandler != null && request.downloadHandler.data != null)
        {
            float speed = request.downloadHandler.data.Length / 1024;
            if (speed > 1024)
            {
                speed = (speed / 1024);
                netSpeedStr = speed.ToString("f") + "mb";                
            }
            else
            { 
                netSpeedStr = speed + "kb";                
            }
        }
        //下载进度 和速度
        Debug.Log("进度" + (request.downloadProgress*100).ToString("f") + "%  "+ netSpeedStr );
        yield return null;
    }

    DownloadHandler downloadHandler = request.downloadHandler;
    Debug.Log("下载完成");
    byte[] data = request.downloadHandler.data;
    using (FileStream fs = new FileStream(path, FileMode.Create))
    {
        fs.Write(data, 0, data.Length);
    }
    this.SendEvent(new OnFinishDownloadOneAsset_AssetsManager());
}

到了这里,关于unity unityWebRequest 通过http下载服务器资源的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 通过XShell直接从服务器下载文件办法分享

    从服务器下载文件或将本地文件上传有很多方法,但都需要离开SSH终端来操作。 那么有没有办法可以直接在SSH终端下载文件呢?答案是肯定的。借助lrzsz这个小程序,我们就可以通过XShell直接下载了。 首先需要安装lrzsz包,输入命令: 安装完成后就可以下载文件了,cd到文件

    2024年02月14日
    浏览(28)
  • cmd控制台通过sftp命令下载服务器文件

    因为同事电脑没有远程连接工具,所以使用cmd连接远程,打开cmd控制台。 1.sftp连接服务器 如果远程主机的 IP 是 192.168.1.100或者是域名www.test.cn,用户名是user,在命令行模式下输入:sftp user@192.168.1.100或者 user@www.test.cn。回车,根据提示输入密码。   2.如果下载的是文件夹,可

    2024年02月11日
    浏览(86)
  • QtWebApp介绍、下载和搭建http轻量级服务器Demo

    QtWepApp是一个C++中的HTTP服务器库,其灵感来自Java Servlet。适用于Linux、Windows、Mac OS和Qt Framework支持的许多其他操作系统。   QtWebApp包含以下组件: • HTTP(S)1.0和1.1服务器 • 模板引擎 • 缓冲记录器   这些组件可以相互独立地使用。一个非常小的用法示例: 官方: http:

    2024年02月12日
    浏览(72)
  • 三分钟用Golang搭建一个HTTP文件上传下载服务器

    简单需要一个文件服务器来传递数据,只要两个功能,一个上传接口,一个下载接口。 选用go http模块实现,比nginx、ftp等更方便快捷。 上传接口\\\"/v1/file_upload/\\\" 上传接口增加简单BasicAuth鉴权 上传成功返回下载URL json格式返回 只想文件上传服务器测试接口,以下电梯直达即可

    2024年02月11日
    浏览(48)
  • Unity向Web服务器上传和下载图片

    Unity的WWW不但能上传下载文本形式的数据,还可以上传下载图片,不过在传输过程中,图片的信息需要转为文本格式。 在上传的这段代码中,我们使用EncodeToPNG函数将图片转出为byte数组,使用WWWForm的方式上传到Web服务器上,与之前不同的是,这一次上传的PNG格式的图片。当上

    2024年02月03日
    浏览(39)
  • windows通过ssh连接Liunx服务器并实现上传下载文件

    目录 连接ssh 操作方式 下载上传文件 特别提醒 操作方式 示例 前言-与正文无关         生活远不止眼前的苦劳与奔波,它还充满了无数值得我们去体验和珍惜的美好事物。在这个快节奏的世界中,我们往往容易陷入工作的漩涡,忘记了停下脚步,感受周围的世界。让我们一

    2024年02月02日
    浏览(87)
  • 【minio】Ubuntu安装MinIO文件服务器并通过C++上传下载

    😏 ★,° :.☆( ̄▽ ̄)/$: .°★ 😏 这篇文章主要介绍MinIO的使用。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习知识,共同进步。 喜欢的朋友可以关注一下,下次更新不迷路🥞 MinIO是一种高性能、可扩展的 对象存储服务 ,它可以在私有云、公共云和边缘计

    2024年02月08日
    浏览(40)
  • 通过Python行命令搭建HTTP服务器结合内网穿透实现外网访问

    Python作为热度比较高的编程语言,其语法简单且语句清晰,而且python有良好的兼容性,可以轻松的和其他编程语言((比如C/C++))建立的模块连接起来,而且python丰富强大的库,经过封装可以轻松调用,因此深受欢迎。 今天我们就尝试用python,建立一个简单的http服务器,用来

    2024年02月09日
    浏览(41)
  • Unity进阶--通过PhotonServer实现联网登录注册功能(服务器端)--PhotonServer(二)

    如何配置PhotonServer服务器:https://blog.csdn.net/abaidaye/article/details/132096415 大体结构图 结构图示意 BLL层(控制层) 总管理类 控制层接口 登录注册控制类 DAL层(数据控制层) 总数据管理层 登录注册数据管理层 模型层 登录注册层 DLC 服务器配置类 发送消息类 以及消息类 服务器

    2024年02月14日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包