UnityWebRequest的简单图片获取(PC和移动端)

相册和文件调用的插件:NativeGallery

UnityWebRequest的简单图片获取(PC和移动端)_第1张图片

图片的下载

 IEnumerator GetTexture( string url)
    {
        using (UnityWebRequest uwr = UnityWebRequestTexture.GetTexture("file://" +url))
        {
            yield return uwr.SendWebRequest();

            if (uwr.isNetworkError || uwr.isHttpError)
            {
                Debug.Log(uwr.error);
            }
            else
            {

                DOTween.Kill("text_select");
                text_show.text = "Undergoing style migration";
                text_show.DOFade(1, 1f).SetId("text_select");
                Canvas_Main.GetComponent().blocksRaycasts = false;
               Input.multiTouchEnabled = false;
                Texture2D texture= DownloadHandlerTexture.GetContent(uwr);
              
                byte[] bytes = texture.EncodeToPNG();

                Texture texture2 = artap_Object.GetComponent().temp_selectObj.transform.GetChild(0).GetComponent().materials[1].mainTexture;
                
                Texture2D texture2D = texture2 as Texture2D;
                print(texture2D);
             
                byte[] bytes2 = texture2D.EncodeToPNG();
               
                StartCoroutine(SimplePost(bytes,bytes2));
            }
          
        }
    }
}

拉取相册

  public void SelectHeadIconFromAlbum(int maxSize = -1)
    {
        //调用插件自带接口,拉取相册,内部有区分平台
        NativeGallery.Permission permission = NativeGallery.GetImageFromGallery((path) =>
        {
            StartCoroutine(GetTexture(path));

        }
        );
    }

简单访问springboot后端并且上传图片

IEnumerator SimplePost(byte[] imge,byte[] image2)
    {
        WWWForm form = new WWWForm();
        form.AddBinaryData("file", imge);
        form.AddBinaryData("file2", image2);
        UnityWebRequest request = UnityWebRequest.Post(Url,form);
       
        yield return request.SendWebRequest();
        if(request.isNetworkError||request.isHttpError)
        {
            print(request.error);
        }
        else
        {
            string te = request.downloadHandler.text;
            if(te.Equals("error"))
            {
                print("错误");
            }
            else
            {
                print(Url_Image + te);
                StartCoroutine(ChangeTex(Url_Image + te));
                
            }
        }
    }

你可能感兴趣的:(unity)