Unity发布webgl之后读取streamingAssets中的txt文件

Unity在发布完webgl之后就不能使用System.IO去读取文件中的内容了。需要使用请求的方式去读取。

		   //路径拼接
            var serverConfig = new System.Uri(Path.Combine(
                Application.streamingAssetsPath + @"/Config", "serverconfig.json"));

            UnityWebRequestMgr.Instance.GetText(serverConfig.ToString(), (temp) =>
            {
                if (!String.IsNullOrWhiteSpace(temp))
                {
                    serviceConfig = JsonUtility.FromJson<ServiceConfig>(temp);
 				   	Debug.Log("读取到的内容有:"+Temp);
                }
                else
                {
                    Debug.Log("加载配置文件错误");
                }
            });
    /// <summary>
    /// web请求管理器
    /// </summary>
    public class UnityWebRequestMgr : SingletonMono<UnityWebRequestMgr>
    {
        public void GetText(string url, Action<string> actionResult)
        {
            StartCoroutine(GetTextAsyn(url, actionResult));
        }
   }

SingletonMono是一个单利的class,百度上很多

        private IEnumerator GetTextAsyn(string url, Action<string> actionResult)
        {
            UnityWebRequest request = UnityWebRequest.Get(url);
            yield return request.SendWebRequest();
            string t = request.downloadHandler.text;
            if (string.IsNullOrEmpty(t)) Debug.LogError(GetType() + "GetTextAsyn()/ Get Text is error! url:" + url);
            actionResult?.Invoke(t);
        }

GitHub 加速计划 / ass / assets
12
1
下载
Ultralytics assets
最近提交(Master分支:4 个月前 )
969b5911 4 个月前
dcb30515 5 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐