public Image LocalProfileImage;
public Texture2D tex;
public void ShowMediaPicker()
{
if (Application.isEditor)
{
//debug
StartCoroutine(uploadPhono1213(tex));
}
else
{
NativeGallery.GetImageFromGallery((path) =>
{
//UploadNewProfileImage(path);
Texture2D tex = NativeGallery.LoadImageAtPath(path);
if (tex == null)
{
Debug.Log("Couldn't load texture from " + path);
return;
}
LocalProfileImage.sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), Vector2.zero);
byte[] bytes = tex.EncodeToPNG();
//tex.isReadable = 1;
StartCoroutine(uploadPhono1213(tex));
});
}
}
private IEnumerator uploadPhono1213(Texture2D tex)
{
string uuidTOPhoto = PlayerPrefs.GetInt("uuid").ToString();
string pngExp = ".png";
string FilenameSAdd = uuidTOPhoto + pngExp;
Debug.Log(FilenameSAdd);
var bytes = tex.EncodeToPNG();
WWWForm form = new WWWForm();
form.AddField("uuid", PlayerPrefs.GetInt("uuid"));
//form.AddBinaryData("image", bytes, $"{tex.name}.png", "image/png");
form.AddBinaryData("image", bytes, FilenameSAdd, "image/png");
WWW www = new WWW("______________________", form);
yield return www;
if (www.error != null)
{
Debug.Log("ошибка: " + www.error);
yield break;
}
Debug.Log("сервер ответил: " + www.text);
немного обрезал код от воды, но в целом такое.
тестирую на компе, так что отправляю просто вот эту текстуру public Texture2D tex;
пишет ошибку
ArgumentException: Texture 'test.png' is not readable. For this reason, scripts cannot access the memory allocated to it. You can make this texture readable in the Texture Import Settings.
можно поставить разрешение read/write в ручную, тогда все работает.
но если это тестить с телефона, то не будет работать.
как поставить разрешение Read/write на текстуру через скрипт?
буду благодарен за помощь