using System; using UnityEngine; public class WebGl : SingletonMonoBehaviour { public bool isOn = false; public byte[] image { get { return _images; } } byte[] _images; public void GetDragAndDrop(string base64Json) { if (!isOn) return; try { base64Json = base64Json.Replace("[\"", "").Replace("\"]", ""); string[] data = base64Json.Split(','); data[0] = data[0].Replace("data:", ""); data[0] = data[0].Replace("/", ";"); string[] info = data[0].Split(";"); if (info[0] != "image") { GameManager.Instance.infoPageUI.SetError(InfoMessage.NotImage); return; } if (!(info[1] == "png" || info[1] == "jpg" || info[1] == "jpeg")) { GameManager.Instance.infoPageUI.SetError(InfoMessage.NotImageType); return; } if (info[2] != "base64") { GameManager.Instance.infoPageUI.SetError(InfoMessage.SystemError00001); return; } _images = DecodeBase64(data[1]); double fileSizeInMB = _images.Length / (1024.0 * 1024.0); if (fileSizeInMB > 10.0d) { GameManager.Instance.infoPageUI.SetError(InfoMessage.NotImageSize); Debug.Log($"ÆÄÀÏ Å©±â: {fileSizeInMB:F2} MB"); return; } FursuitAddCtrl.Instance.SetImage(image); } catch (Exception e) { GameManager.Instance.infoPageUI.SetError(InfoMessage.SystemError00002); } } public byte[] DecodeBase64(string base64String) { try { // Base64 ¹®ÀÚ¿­À» byte[]·Î µðÄÚµù byte[] byteArray = Convert.FromBase64String(base64String); return byteArray; } catch (FormatException ex) { // À߸øµÈ Base64 ¹®ÀÚ¿­ ó¸® Console.WriteLine("Base64 µðÄÚµù ½ÇÆÐ: " + ex.Message); return null; } } }