public async Task <IActionResult> Create([Bind("ParkId,Name,Description,City,State,WebsiteLink,ParkMapLink")] Park park, List <IFormFile> files) { if (ModelState.IsValid) { // 1. Save the park model first, creates a unique id for the inserted park. _context.Add(park); await _context.SaveChangesAsync(); // 2. Save the ImageFiles in Images folder and get new Filenames. var newFileNames = ImageProcessor.SaveImageFilesToDrive(files); // 3. Save FileName and path in db. foreach (var newfileName in newFileNames) { var imageFileName = new ImageFileName() { FileName = newfileName, ParkId = park.ParkId }; _context.ImageFileNames.Add(imageFileName); await _context.SaveChangesAsync(); } return(RedirectToAction(nameof(Index))); } return(View(park)); }
public ImageViewer(string imageFileName, Area a, Control owner) : base(owner) { this.Area = a; this.ImageFileName = imageFileName; this.InitializeComponent(); // Descriptive window title this.Text = @"Imagen: " + a.Name; if (this.Area is Estate) { this.Text += @" - " + EstateExplorer.EtqFinca + ((this.Area as Estate).IsUrban ? (@" " + EstateExplorer.EtqUrbana) : @"") ; if (ImageFileName.Contains(Database.EtqZona)) { this.Text += ' ' + ('(' + Database.EtqZona.ToLower() + ')' + ' '); } } else if (this.Area is Place) { this.Text += @" - " + Area.FormatForPresentation(Database.EtqLugar); } this.MaximumSize = new Size(this.Owner.Width, this.Owner.Height); pictureBox.LoadAsync(imageFileName); }
public async Task LoadImage() { if (ImageFileName.Contains("ms-appx:Assets")) { BitmapImage bitmapImage = new BitmapImage(new Uri(ImageFileName, UriKind.RelativeOrAbsolute)); ImageBrush brush = new ImageBrush(); brush.AlignmentX = AlignmentX.Left; brush.AlignmentY = AlignmentY.Top; brush.Stretch = Stretch.UniformToFill; _picBrush.ImageSource = bitmapImage; return; } var folder = await StaticHelpers.GetSaveFolder(); var file = await folder.GetFileAsync(ImageFileName); using (Windows.Storage.Streams.IRandomAccessStream fileStream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read)) { // Set the image source to the selected bitmap. Windows.UI.Xaml.Media.Imaging.BitmapImage bitmapImage = new Windows.UI.Xaml.Media.Imaging.BitmapImage(); bitmapImage.SetSource(fileStream); _picBrush.ImageSource = bitmapImage; } }
public async Task <IActionResult> Create([Bind("RideId,Name,Description,Height,Length,TopSpeed,GForce,RideType,ThrillType,MaterialType,WebsiteLink,BuildDate,Manufacturer,ParkId")] Ride ride, List <IFormFile> files) { if (ModelState.IsValid) { // 1. Save the ride model first, creates a unique id for the inserted park. _context.Add(ride); await _context.SaveChangesAsync(); // 2. Save the ImageFiles in Images folder and get new Filenames. var newFileNames = ImageProcessor.SaveImageFilesToDrive(files); // 3. Save FileName and path in db. foreach (var newfileName in newFileNames) { var imageFileName = new ImageFileName() { FileName = newfileName, RideId = ride.RideId }; _context.ImageFileNames.Add(imageFileName); await _context.SaveChangesAsync(); } return(RedirectToAction(nameof(Index))); } ViewData["ParkId"] = new SelectList(_context.Parks, "ParkId", "ParkId", ride.ParkId); return(View(ride)); }
private async Task UploadImageBytesSized(ResizeImagesAndStore request, ImageSize size, CancellationToken cancellationToken) { await using MemoryStream stream = new MemoryStream(request.ImageContent.ResizeImage((int)size)); await _mediator.Send(new SendToAzureStorage { Content = stream, FileName = ImageFileName.GetGameImageFile(request.ImageId, request.GameId, size) }, cancellationToken); }
private async Task SaveParkImageFiles(Park park, List <IFormFile> files) { if (files != null) { foreach (var file in files) { if (file.Length > 0) { //Getting FileName var fileName = Path.GetFileName(file.FileName); //Assigning Unique Filename (Guid) var myUniqueFileName = Convert.ToString(Guid.NewGuid()); //Getting file Extension var fileExtension = Path.GetExtension(fileName); // concatenating FileName + FileExtension var newFileName = String.Concat(myUniqueFileName, fileExtension); // Combines two strings into a path. var filepath = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "Images")).Root + $@"\{newFileName}"; using (FileStream fs = System.IO.File.Create(filepath)) { file.CopyTo(fs); fs.Flush(); } var imageFileName = new ImageFileName() { FileName = newFileName, ParkId = park.ParkId }; _context.ImageFileNames.Add(imageFileName); await _context.SaveChangesAsync(); } } } } // end SaveImageFiles
public async Task <Unit> Handle(RemoveImagesFromAzureStorage request, CancellationToken cancellationToken) { var container = _client.GetBlobContainerClient(_settings.Container); var filesToDelete = new[] { $"{request.GameId}_{request.ImageId}.jpg", ImageFileName.GetGameImageFile(request.ImageId, request.GameId, ImageSize.Small), ImageFileName.GetGameImageFile(request.ImageId, request.GameId, ImageSize.Medium) }; foreach (var file in filesToDelete) { var blobClient = container.GetBlobClient(file); await blobClient.DeleteIfExistsAsync(DeleteSnapshotsOption.IncludeSnapshots, new BlobRequestConditions(), cancellationToken); } return(Unit.Value); }
public async Task <byte[]> Handle(GetAzureFileContents request, CancellationToken cancellationToken) { string filename = ImageFileName.GetGameImageFile(request.ImageId, request.GameId, request.Size); return(await _client.DownloadFileAsync(_settings.Container, filename, cancellationToken)); }