示例#1
0
        /// <summary>
        /// Gets the encrypted query string.
        /// </summary>
        /// <param name="imageUri">The image URI.</param>
        /// <returns></returns>
        public static string EncryptUri(this Uri imageUri)
        {
            Arg.IsNotNull(() => imageUri);

            var encryptor = new DPAPIEncryptor();

            return(encryptor.Encrypt(imageUri.ToString()));
        }
示例#2
0
        public void EncryptReturnsNotSameString()
        {
            // arrange
            var encryptor       = new DPAPIEncryptor();
            var stringToEncrypt = "stringToEncrypt";

            // act
            var encryptedString = encryptor.Encrypt(stringToEncrypt);

            // assert
            Assert.AreNotEqual(stringToEncrypt, encryptedString);
        }
        public async virtual Task <ActionResult> DownloadImageTemplate(string imageTemplatePath)
        {
            var encryptor = new DPAPIEncryptor();
            var uriString = encryptor.Decrypt(imageTemplatePath);

            var uri = new Uri(uriString, UriKind.Absolute);
            var contentDisposition = new ContentDisposition()
            {
                FileName = uri.Segments.Last(),
                Inline   = false,
            };

            var webClient = new WebClient();

            webClient.UseDefaultCredentials = true;
            var fileData = await webClient.DownloadDataTaskAsync(uri);

            Response.AppendHeader("Content-Disposition", contentDisposition.ToString());
            return(File(fileData, "image/png"));
        }