Exemplo n.º 1
0
        public Task StoreImageAsync(string url, Il2CppStructArray <byte> data)
        {
            if (string.IsNullOrEmpty(url))
            {
                return(Task.CompletedTask);
            }

            return(Task.Run(() =>
            {
                try
                {
                    if (myFileDatabase.FileStorage.Exists(url))
                    {
                        return;
                    }

                    myFileDatabase.FileStorage.Upload(url, url, new MemoryStream(data));

                    var newImageInfo = new StoredImageInfo {
                        Id = url, LastAccessed = DateTime.MinValue
                    };
                    myImageInfos.Upsert(newImageInfo);
                }
                catch (LiteException ex)
                {
                    if (MelonDebug.IsEnabled())
                    {
                        MelonLogger.Warning($"Database exception in image store handler: {ex}");
                    }
                }
            }));
        }
Exemplo n.º 2
0
        public async Task LoadImageAsync(string url, Action <Texture2D?> onDone)
        {
            try
            {
                if (!myFileDatabase.FileStorage.Exists(url))
                {
                    onDone(null);
                    return;
                }

                await Task.Run(() => { }).ConfigureAwait(false);

                using var imageStream = myFileDatabase.FileStorage.OpenRead(url);
                using var image       = await Image.LoadAsync <Rgba32>(imageStream).ConfigureAwait(false);

                var newImageInfo = new StoredImageInfo {
                    Id = url, LastAccessed = DateTime.UtcNow
                };
                myImageInfos.Upsert(newImageInfo);

                await TaskUtilities.YieldToMainThread();

                try
                {
                    onDone(CreateTextureFromImage(image));
                }
                catch (Exception ex)
                {
                    MelonLogger.Error($"Exception in onDone callback: {ex}");
                }
            }
            catch (Exception ex)
            {
                if (MelonDebug.IsEnabled())
                {
                    MelonLogger.Warning($"Exception in image load, will delete offending image: {ex}");
                }
                myFileDatabase.FileStorage.Delete(url);
                myImageInfos.Delete(url);
                onDone(AssetsHandler.PreviewLoading.texture);
            }
        }
Exemplo n.º 3
0
        public static BitmapSource LoadImage(this StoredImageInfo storedImageInfo)
        {
            var bs = ImageSaveLoadService.GetBitmapImage(storedImageInfo.StoredDateTime, storedImageInfo.ImageGuid);

            return(bs);
        }
        public ActionResult GetProductImgs(int id)
        {
            var imgs = db.ProductImages.Where(p => p.ProductId == id).ToList();

            var storedImgList = new List<StoredImageInfo>();
            foreach(var item in imgs)
            {
                var storedImg = new StoredImageInfo
                {
                    Id = item.Id.ToString(),
                    FileName = item.Name,
                    Url = item.Url
                };
                storedImgList.Add(storedImg);
            }

            return Json(new { Data = storedImgList },JsonRequestBehavior.AllowGet);
        }