/// <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) { ArchiveDocumentImage archiveDocumentImage; using (var context = new DatabaseContext()) { archiveDocumentImage = context.ArchiveDocumentImages.First(x => x.Id == id); } var storage = new ArchiveDocumentImageStorage(); var bytes = storage.Download(id); return File(bytes, "image/" + archiveDocumentImage.Format, archiveDocumentImage.FileName); }
public ActionResult Upload(ArchiveDocumentImage archiveDocumentImage, HttpPostedFileBase file) { if (file != null && file.ContentLength > 0) { using (var context = new DatabaseContext()) { var archiveDocumentImages = context.ArchiveDocumentImages .Where(x => x.ArchiveDocumentId == archiveDocumentImage.ArchiveDocumentId).ToList(); var sequenceNumber = (byte)(archiveDocumentImages.Count == 0 ? 1 : archiveDocumentImages.Max(x => x.SequenceNumber) + 1); archiveDocumentImage.SequenceNumber = sequenceNumber; var bytes = archiveDocumentImage.Initialize(file.InputStream, file.ContentLength, file.FileName); context.ArchiveDocumentImages.Add(archiveDocumentImage); context.SaveChanges(); var storage = new ArchiveDocumentImageStorage(); storage.Upload(archiveDocumentImage.Id, bytes); } } return RedirectToAction("WithImages", "ArchiveDocument", new { id = archiveDocumentImage .ArchiveDocumentId}); }
/// <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(); }