first im using NativeGallery Package to create Texture2D by select on gallery photo…
its works pefectly and my object (Raw Image) has changed
code:
public class ChangeTexture : MonoBehaviour
{
RawImage Raw;
public void Button()
{
PickImage(512);
}
public void PickImage(int maxSize)
{
NativeGallery.Permission permission = NativeGallery.GetImageFromGallery((path) =>
{
Texture2D texture = NativeGallery.LoadImageAtPath(path, maxSize);
if (texture == null)
{
Debug.Log("Couldn't load texture from " + path);
return;
}
Raw = GetComponent<RawImage>();
Raw.texture = texture;
}, "Select a PNG image", "image/png");
Debug.Log("Permission result: " + permission);
}
}
my question is, how i upload that Texture2D texture to my server… ?
thanks
Well, I haven’t done this in years, so this information might be out dated, but I used to use the WWW function. That has been replaced with UnityWebRequest. But, in short, the process would be something like this:
- Create a php page on the server that can receive, process, and rename the picture (you should not trust things uploaded without inspecting them). Let’s call it Upload.php
- Add a reference to the UnityWebRequest and use that object to call that webpage.
Try this: Unity - Manual: Uploading raw data to an HTTP server (PUT)
But you can also (I believe) still use the WWW class: Using UnityWebRequest POST to upload image files - Questions & Answers - Unity Discussions
im using this in unity :
{
WWWForm form = new WWWForm();
byte textureBytes = texture.EncodeToPNG();
form.AddBinaryData(“Gambar”, textureBytes, “images”, “images/png”);
using (UnityWebRequest www = UnityWebRequest.Post(DBManager.URLStandBy, form))
{
yield return www.SendWebRequest();
Debug.Log(“Sent”);
}
}
but its getting error :
NullReferenceException: Object reference not set to an instance of an object
UnityEngine.WWWForm.AddBinaryData (System.String fieldName, System.Byte contents, System.String fileName, System.String mimeType) (at <2424cac47b134bcb9980d5fdf8ea4441>:0)
ChangeTexture+d__5.MoveNext () (at Assets/ChangeTexture.cs:41)