小编Sil*_*lva的帖子

从 PersistenceDataPath 加载图像

我正在制作一个 Android 应用程序,一开始应该从 MySQL 数据库加载数据并从服务器加载一些图像。之后,用户将在外面,因此应用程序将离线工作。

我编写了代码来保存所有数据库数据(它有效)和图像从服务器到 ApplicationPersistenceDataPath (不工作)。我已经在寻找我应该如何做到这一点。我的代码不会引发任何错误。但是,当我尝试在应用程序上显示它时,图像是空白的。当时我查看了存储图像的文件夹,但无法打开它们。

这是我保存图像的方法:

IEnumerator loadBgImage(string url, string file_name)
    {
        using (UnityWebRequest www = UnityWebRequest.Get(url))
        {
            yield return www.Send();
            if (www.isNetworkError || www.isHttpError)
            {
                print("erro");
            }
            else
            {
                string savePath = string.Format("{0}/{1}", Application.persistentDataPath, file_name);
                if (!File.Exists(savePath))
                {
                    System.IO.File.WriteAllText(savePath, www.downloadHandler.text);
                }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

这是在图像中显示图像文件的代码:

string path = Application.persistentDataPath + "/" + nomeImagem;
imagem.GetComponent<SpriteRenderer>().sprite = LoadSprite(path);
Run Code Online (Sandbox Code Playgroud)

这个方法被称为:

    private Sprite LoadSprite(string path)
    {
        if (string.IsNullOrEmpty(path)) return null;
        if (System.IO.File.Exists(path))
        {            
            byte[] bytes = File.ReadAllBytes(path);
            Texture2D texture = …
Run Code Online (Sandbox Code Playgroud)

c# image unity-game-engine

2
推荐指数
1
解决办法
6755
查看次数

标签 统计

c# ×1

image ×1

unity-game-engine ×1