/// <summary>Downloads the image from the site</summary> /// <param name="id">ID of the image</param> /// <returns>Fiew view</returns> public FileContentResult Download(int id) { IdentityDocumentImage identityDocumentImage; using (var context = new DatabaseContext()) { identityDocumentImage = context.IdentityDocumentImages.First(x => x.Id == id); } var storage = new IdentityDocumentImageStorage(); var bytes = storage.Download(id); return File(bytes, "image/" + identityDocumentImage.Format, identityDocumentImage.FileName); }
public ActionResult Upload(IdentityDocumentImage identityDocumentImage, HttpPostedFileBase file) { if (file != null && file.ContentLength > 0) { using (var context = new DatabaseContext()) { var identityDocumentImages = context.IdentityDocumentImages .Where(x => x.IdentityDocumentId == identityDocumentImage.IdentityDocumentId).ToList(); var sequenceNumber = (byte)(identityDocumentImages.Count == 0 ? 1 : identityDocumentImages.Max(x => x.SequenceNumber) + 1); identityDocumentImage.SequenceNumber = sequenceNumber; var bytes = identityDocumentImage.Initialize(file.InputStream, file.ContentLength, file.FileName); context.IdentityDocumentImages.Add(identityDocumentImage); context.SaveChanges(); var storage = new IdentityDocumentImageStorage(); storage.Upload(identityDocumentImage.Id, bytes); } } return RedirectToAction("WithImages", "IdentityDocument", new { id = identityDocumentImage.IdentityDocumentId }); }
/// <summary>Constructor establishes the connection</summary> /// <param name="sourceFolder">The folder keeping images</param> public BlobPersister(string sourceFolder) { _sourceFolder = sourceFolder; _identityDocumentImageStorage = new IdentityDocumentImageStorage(); _archiveDocumentImageStorage = new ArchiveDocumentImageStorage(); }