Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Unity Firebase存储读取映像不工作_C#_Unity3d_Firebase Realtime Database_Firebase Storage - Fatal编程技术网

C# Unity Firebase存储读取映像不工作

C# Unity Firebase存储读取映像不工作,c#,unity3d,firebase-realtime-database,firebase-storage,C#,Unity3d,Firebase Realtime Database,Firebase Storage,我想在存储器中保存精灵并加载精灵图像。 目前存储保存工作良好。但负载不工作:( 保存代码: private StorageReference storageReference; storageReference = FirebaseStorage.DefaultInstance.GetReferenceFromUrl("my storage URL"); public void SaveShopImage(string fileName, Sprite sprite) { Te

我想在存储器中保存精灵并加载精灵图像。 目前存储保存工作良好。但负载不工作:(

保存代码:

private StorageReference storageReference;
storageReference = FirebaseStorage.DefaultInstance.GetReferenceFromUrl("my storage URL");

    public void SaveShopImage(string fileName, Sprite sprite)
{
    Texture2D ShopTexture = textureFromSprite(sprite);
    var ImageByte = ShopTexture.GetRawTextureData();
    StorageReference rivers_ref = storageReference.Child("Filename");

    rivers_ref.PutBytesAsync(ImageByte).ContinueWith((Task<StorageMetadata> task) =>
      {
          if (task.IsFaulted || task.IsCanceled)
          {
              Debug.Log(task.Exception.ToString());
          }
          else
          {
              Debug.Log("Finished uploading...");
          }          
      });
}    
private-StorageReference-StorageReference;
storageReference=FirebaseStorage.DefaultInstance.GetReferenceFromUrl(“我的存储URL”);
public void SaveShopImage(字符串文件名,精灵精灵)
{
Texture2D ShopTexture=textureFromSprite(雪碧);
var ImageByte=ShopTexture.GetRawTextureData();
StorageReference\u ref=StorageReference.Child(“文件名”);
rivers\u ref.PutBytesAsync(ImageByte).ContinueWith((任务)=>
{
if(task.IsFaulted | | task.IsCanceled)
{
Debug.Log(task.Exception.ToString());
}
其他的
{
Log(“已完成上载…”);
}          
});
}    
它运行良好。但加载脚本不起作用。。 在UnityEditor中,日志输出最多为(“A”)。 (“B”)将不会输出,以下代码也将不起作用

加载代码:

    public void ReadShopImage(string ResourceName, Sprite spriteToSet)
{
    const long maxAllowedSize = 1 * 1024 * 1024;
    storageReference.Child("Filename").GetBytesAsync(maxAllowedSize).ContinueWith((Task<byte[]> task) => {
        if (task.IsFaulted || task.IsCanceled)
        {
            Debug.Log(task.Exception.ToString());
        }
        else
        {
            byte[] fileContents = task.Result;
            Debug.Log("A");

            Texture2D texture = new Texture2D(100, 100);
            texture.LoadImage(fileContents);
            Debug.Log("B");

            SaveToSprite = Sprite.Create(texture, new Rect(0.0f, 0.0f, texture.width, texture.height), new Vector2(0.5f, 0.5f), 100.0f);
            Debug.Log("Finished downloading!");
        }
    });
}
public void ReadShopImage(字符串ResourceName,Sprite spriteToSet)
{
const long maxAllowedSize=1*1024*1024;
storageReference.Child(“文件名”).GetByteAsync(maxAllowedSize).ContinueWith((任务)=>{
if(task.IsFaulted | | task.IsCanceled)
{
Debug.Log(task.Exception.ToString());
}
其他的
{
字节[]fileContents=task.Result;
Debug.Log(“A”);
纹理2d纹理=新纹理2d(100100);
加载图像(文件内容);
调试日志(“B”);
SaveToSprite=Sprite.Create(纹理,新矩形(0.0f,0.0f,纹理.宽度,纹理.高度),新矢量2(0.5f,0.5f),100.0f);
Log(“下载完毕!”);
}
});
}
我做错什么了吗? 如何从FirebaseStorage设置SpriteMage 或者如何使用FirebaseDatabase保存图像?

谢谢你阅读我的问题。祝你有愉快的一天

======================================================= 我使用ContinueWithOnMainThread解决了这个问题:)


但是sprite没有改变哈..

你的unity版本是什么?我使用的是2018.3.9f1版本