簡體   English   中英

在上傳到Azure Blob存儲之前對圖像數據進行加密

[英]Encrypting image data before uploading to azure blob storage

我有以下代碼將映像上傳到Azure blob存儲。 我想在上傳到Blob之前對圖像數據進行加密。 我已經有了一個用於加密和解密的助手類,可以通過調用AESEncryption.Encrypt(“ plainText”,“ key”,salt“);來使用。

我只是想弄清楚如何將加密方法集成到代碼中。 另外,我猜想一旦將其加密而不是調用blob.UploadFromFile(),我將調用blob.UploadFromByteArray()。

public override Task ExecutePostProcessingAsync()
    {
        try
        {
            // Upload the files to azure blob storage and remove them from local disk
            foreach (var fileData in this.FileData)
            {
                var filename = BuildFilename(Path.GetExtension(fileData.Headers.ContentDisposition.FileName.Trim('"')));

                // Retrieve reference to a blob
                var blob = _container.GetBlockBlobReference(filename);
                blob.Properties.ContentType = fileData.Headers.ContentType.MediaType;
                blob.UploadFromFile(fileData.LocalFileName, FileMode.Open);
                File.Delete(fileData.LocalFileName);
                Files.Add(new FileDetails
                {
                    ContentType = blob.Properties.ContentType,
                    Name = blob.Name,
                    Size = blob.Properties.Length,
                    Location = blob.Uri.AbsoluteUri
                });
            }
        }
        catch (Exception ex)
        {
            throw ex;
        }

        return base.ExecutePostProcessingAsync();
    }

如我所見,您可以通過3種方式做到這一點:

  1. 事先加密文件,然后上傳該加密文件。
  2. 如前所述,您可以讀取字節數組中的文件,然后對該字節數組進行加密,然后使用UploadFromByteArray方法將其上傳。
  3. 與#2相似,但是您可以依賴於流並使用UploadFromStream方法上傳,而不是上傳字節數組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM