Esempio n. 1
0
        // GET: Item/Details/5
        public async Task <ActionResult> Details(int id)
        {
            var surl = await GalleryController.GetSurl();

            var request = new ImageDataRequest(id);
            var rawData = await request.GetItemData(surl);

            var goodData = GoodItemData.CreateFromItemInformation(rawData);

            return(View(goodData));
        }
Esempio n. 2
0
        private static async Task <GoodItemData> GetItemData(string surl, int itemId)
        {
            var request = new ImageDataRequest(itemId);
            var rawData = await request.GetItemData(surl);

            var goodData = GoodItemData.CreateFromItemInformation(rawData);

            return(goodData);
            ////galleryItemInfo.Name = goodData.Name;
            ////galleryItemInfo.Artist = goodData.Artist;
            ////galleryItemInfo.ImageUrl = goodData.ImageUrl;
        }
Esempio n. 3
0
        public IEnumerable<ImageMatch> Check(ImageDataRequest req)
        {
            using var image = req.GetBitmap(out var md5);
            var name = $"{md5}_{image.Width}x{image.Height}.png";
            var sourcePath = Path.Combine(Paths.Sources, name);
            if (System.IO.File.Exists(sourcePath))
            {
                return new[] { new ImageMatch(Path.GetRelativePath(Paths.Images, sourcePath), 100, "Keep existing") };
            }
            var tempFile = Path.Combine(Paths.Temp, name);
            image.Save(tempFile);
            try
            {
                var matches = AntiDupl.Check(tempFile);
                var mapped = matches.Select(m =>
                {
                    var firstIsTemp = Path.GetFullPath(m.first.path) == tempFile;
                    var match = firstIsTemp ? m.second : m.first;
                    var hint = "None";
                    switch (m.hint)
                    {
                        case HintType.DeleteFirst:
                            if (firstIsTemp)
                            {
                                hint = "Keep existing";
                            }
                            else
                            {
                                hint = "Overwrite existing";
                            }
                            break;
                        case HintType.DeleteSecond:
                            if (firstIsTemp)
                            {
                                hint = "Overwrite existing";
                            }
                            else
                            {
                                hint = "Keep existing";
                            }
                            break;
                    }
                    return new ImageMatch(Path.GetRelativePath(Paths.Images, Path.GetFullPath(match.path)), 100 - m.difference, hint);
                });

                return mapped;
            }
            finally
            {
                System.IO.File.Delete(tempFile);
            }
        }
 public String Post([FromBody] JObject img)
 {
     try
     {
         ImageDataRequest image = JsonConvert.DeserializeObject <ImageDataRequest>(img.ToString());
         byte[]           b     = (byte[])(Array)image.data;
         if (!image.auth)
         {
             image.name = Guid.NewGuid().ToString();
         }
         var rt = Translate.TranslateMethod(b, image.name, image.auth);
         return(rt);
     }
     catch (Exception e)
     {
         return(e.Message);
     }
 }
Esempio n. 5
0
        public IActionResult InsertImage([FromForm] ImageDataRequest request)
        {
            var images = new List <ImageDetails>();

            foreach (var i in request.Files)
            {
                images.Add(new ImageDetails(i));
            }
            request.Details = images;
            var items = images.Select(x => x.Image).ToList();
            var resp  = _reportService.InsertImage(request);

            if (resp.Success)
            {
                return(Ok(resp.Images));
            }

            return(BadRequest(resp.Message));
        }
Esempio n. 6
0
        public ImageBasedResponse InsertImage(ImageDataRequest request)
        {
            var response = new ImageBasedResponse
            {
                Images = new List <Image>()
            };

            try
            {
                foreach (var i in request.Details)
                {
                    var id = _repRepo.InsertImage(request.ReportId, i.Image);
                    response.Images.Add(new Image(id, request.ReportId, i.Image));
                }
                response.Success = true;
            }
            catch (Exception ex)
            {
                response.AddMessage(ex.Message);
            }

            return(response);
        }