Unity用UnityWebRequest,从服务器 下载图片

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;

public class DownLoadImageFromServer : MonoBehaviour
{
   
    void Start()
    {
        //异步加载
        StartCoroutine(DownloadImage());
    }

    
    void Update()
    {
        
    }
    IEnumerator DownloadImage()
    {
        
        UnityEngine.Networking.UnityWebRequest www = UnityWebRequestTexture.GetTexture("121.36.49.39/WebGl/DR/DRResource/DogPics/1.1头部侧位体位摆放" + ".png");
        yield return www.SendWebRequest();

        if (www.isNetworkError || www.isHttpError)
        {
            Debug.Log(www.error);
        }
        else
        {
            Texture2D myTexture = ((DownloadHandlerTexture)www.downloadHandler).texture;
            Sprite createSprite = Sprite.Create(myTexture, new Rect(0, 0, myTexture.width, myTexture.height), new Vector2(0, 0));
            gameObject.GetComponent<Image>().sprite = createSprite;
        }
    }
}

具体过程,与下面链接,内容类似
Unity 用WWW类,从服务器加载图片

另有,Unity官网关于这部分的链接
从 HTTP 服务器检索纹理 (GET)

大佬讲解UnityWebRequest
长江后浪推前浪,UnityWebRequest替代WWW

搭建本地IIS服务器 + 把下载的内容存储到Unity里
Unity 使用UnityWebRequest从服务器中下载文件

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UnityWebRequest是一个高级API,它允许开发人员执行各种网络操作,包括下载视频。要下载视频,需要使用UnityWebRequest.Get或UnityWebRequest.Post方法创建一个请求,并设置其URL。在请求被发送到服务器之前,还可以设置其他选项,例如请求头和超时时间。一旦请求被发送,可以使用yield return等待响应的接收。接收响应后,可以通过对响应数据进行处理来获得视频文件。这个过程可以通过以下几个步骤来实现: 1. 创建UnityWebRequest实例,并设置请求的URL和其他选项。 2. 使用yield return等待响应的接收。 3. 从响应中获取视频文件的字节数据。 4. 将字节数据写入到本地文件中,以便后续使用。 以下是一个示例代码段,演示如何使用UnityWebRequestUnity下载视频: IEnumerator DownloadVideo(string url, string filePath) { using (UnityWebRequest request = UnityWebRequest.Get(url)) { // 可选:设置请求头 request.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"); // 发送请求 yield return request.SendWebRequest(); // 检查是否发生错误 if (request.result != UnityWebRequest.Result.Success) { Debug.Log(request.error); } else { // 获取视频文件的字节数据 byte[] videoBytes = request.downloadHandler.data; // 写入到本地文件 File.WriteAllBytes(filePath, videoBytes); Debug.Log("视频下载完成."); } } } 在这个示例中,我们使用UnityWebRequest从指定的URL下载视频,并将其保存到本地文件系统中。通过这种方式,开发人员可以轻松地与远程服务器进行交互,以获取他们所需的媒体资源。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值