当前位置: 首页 > news >正文

untiy使用http下载资源

文章目录

    • 提醒
    • 下载一个资源并保存到本地
    • 下载一张图片

提醒

部分API需要将Unity的 Edit/PrejectSetting/Player/OtherSetttings/AConfiguration/ApiCompatibilityLevel 设为.NetFramework 才可以使用
在这里插入图片描述

下载一个资源并保存到本地

    private IEnumerator DownloadFormServer_IE(string url, string path)//从服务器下载资源  path保存路径{Debug.Log("正在下载" + url);	string assetName = Path.GetFileName(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 totalDownloadDataStr = "0kb";//总下载量 不是下载速度,可以根据总下载量计算下载速度if (request.downloadHandler != null && request.downloadHandler.data != null){float speed = request.downloadHandler.data.Length / 1024;if (speed > 1024){speed = (speed / 1024);totalDownloadDataStr = speed.ToString("f") + "mb";                }else{ totalDownloadDataStr = speed + "kb";                }}//打开一个面板显示下载进度条 UIKit是QF框架提供的APIUIKit.OpenPanel<AlertPanel>(new AlertPanelData("正在下载" + assetName + "\n"+ "进度" + (request.downloadProgress*100).ToString("f") + "%  "+ totalDownloadDataStr + "\n"+ "第" + (assetsManagerModel.currentDownlaodFinishIndex + 1) + "\\总共" + assetsManagerModel.waitDownloadAssetsList.Count));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);}}

下载一张图片

    private IEnumerator DownloadOnePicture_IE(string url, Action<Texture2D> callBack)//在callBack里可以直接对下载的图片进行例如给精灵赋值这类操作{if (string.IsNullOrEmpty(url)) yield break;UnityWebRequest request = UnityWebRequestTexture.GetTexture(url);yield return request.SendWebRequest();Texture2D texture2D = DownloadHandlerTexture.GetContent(request);callBack?.Invoke(texture2D);}
http://www.lryc.cn/news/278779.html

相关文章:

  • 03-编码篇-x264编译与介绍
  • 生活自来水厂污水处理设备需要哪些
  • Full names for abbreviations of Linux Commands
  • kafka下载安装部署
  • python包管理工具:pipenv的基本使用
  • AI系统ChatGPT网站系统源码AI绘画详细搭建部署教程,支持GPT语音对话+DALL-E3文生图+GPT-4多模态模型识图理解
  • MC-4/11/03/400步进电机驱动器的主要驱动方式有哪些?
  • 大数据技术原理与应用期末复习(林子雨)
  • C练习——魔术师猜三位数
  • three.js 使用 tweenjs绘制相机运动动画
  • Oracle VARCHAR和VARCHAR2区别
  • HarmonyOS 开发基础(八)Row和Column
  • Visual Studio中项目添加链接文件
  • 做一个个人博客第一步该怎么做?
  • vue前端开发自学练习,Props数据传递-类型校验,默认值的设置!
  • Fooocus 使用笔记
  • 18. 从零用Rust编写正反向代理, 主动式健康检查源码实现
  • [DM8] 达梦8配置兼容Oracle
  • 【Pytorch简介】1.Introduction 简介
  • 什么是Session以及如何在 NestJS 项目中的优雅管理 Session
  • 高级分布式系统-第6讲 分布式系统的容错性--故障/错误/失效/异常
  • 网络多线程开发小项目--QQ登陆聊天功能(服务端推送新闻、离线留言和文件)
  • Jtti:有哪些方法可以提升Tomcat的性能?
  • LeetCode 2085. 统计出现过一次的公共字符串
  • 130基于MATLAB并结合IBD算法的盲迭代反卷积法进行图像复原
  • Flying HTML生成PDF添加水印
  • MySQL 8.0 InnoDB Tablespaces之Temporary Tablespaces(临时表空间)
  • 轴承滚珠故障的理论推导与计算(修订中...)
  • NVMe系统内存结构 - PRP与PRP List
  • 系列二、Spring Security中的核心类