コード例 #1
0
        public async Task <IActionResult> DrawSignature()
        {
            var            id    = Request.Path.ToString().Substring(Request.Path.ToString().LastIndexOf('/') + 1);
            AdminViewModel model = await DocumentDBRepository <AdminViewModel> .GetItemAsync(id);

            // _penConnector.DrawSignature();
            Bitmap   tempBitmap = new Bitmap(800, 1131);
            Graphics g          = Graphics.FromImage(tempBitmap);

            g.Clear(Color.Transparent);
            g.Dispose();
            //
            _penConnector.DrawSignature(model.Id, tempBitmap);


            PDFCombine.CombinePdfPng(GetBlobSasUri(model.DocGuid), model.Id, _hostingEnvironment);

            if (System.IO.File.Exists(System.IO.Path.Combine(_hostingEnvironment.WebRootPath, "img/pen/" + model.Id + ".png")))
            {
                System.IO.File.Delete(System.IO.Path.Combine(_hostingEnvironment.WebRootPath, "img/pen/" + model.Id + ".png"));
            }

            string     uploadName = System.IO.Path.Combine(_hostingEnvironment.WebRootPath, "pdf/ImageCombine.pdf");
            FileStream fs         = new FileStream(uploadName, FileMode.Open, FileAccess.Read);

            model.isSigned      = true;
            model.SignedDocGuid = UploadBlob(fs, model.DocName);
            await DocumentDBRepository <AdminViewModel> .UpdateItemAsync(model.Id, model);

            ViewBag.Title  = "Thank you for signing";
            ViewBag.Id     = model.Id;
            ViewBag.pdfURL = GetBlobSasUri(model.SignedDocGuid);
            _mailService.DocumentSigned(model, _hostingEnvironment);
            return(View());
        }
コード例 #2
0
        public string UploadBlob(IFormFile file, string fileName)
        {
            var blobName = Guid.NewGuid().ToString() + fileName;
            CloudBlobContainer container = GetCloudBlobContainer();
            CloudBlockBlob     blob      = container.GetBlockBlobReference(blobName);

            //using (var fileStream = System.IO.File.OpenRead(@"<file-to-upload>"))
            using (var fileStream = file.OpenReadStream())
            {
                string filePath = PDFCombine.CombinePdfPdf(fileStream, _hostingEnvironment);

                using (FileStream fs = new FileStream(filePath, FileMode.Open))
                {
                    blob.UploadFromStreamAsync(fs).Wait();
                }
            }
            return(blobName);
        }