小编Ann*_*nne的帖子

从 Azure 存储流式传输 blob - 无法访问关闭的流

我正在使用 asp.net 网络表单。

我需要处理 Azure 存储中的 pdf。我正在使用 PDFJet 库来做到这一点。

我想在不下载的情况下流式传输 pdf,因为我必须处理大量的 pdf。

我正在使用以下函数从 Azure 流式传输 pdf:

public MemoryStream DownloadToMemoryStream(DTO.BlobUpload b)
{
    CloudStorageAccount storageAccount = Conn.SNString(b.OrgID);
    CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
    CloudBlobContainer container = blobClient.GetContainerReference(b.Container);
    CloudBlockBlob blob = container.GetBlockBlobReference(b.FileName);
    var sasToken = blob.GetSharedAccessSignature(new SharedAccessBlobPolicy()
    {
        Permissions = SharedAccessBlobPermissions.Read,
        SharedAccessExpiryTime = DateTime.UtcNow.AddMinutes(10),//assuming the blob can be downloaded in 10 miinutes
    }, new SharedAccessBlobHeaders()
    {
        ContentDisposition = "attachment; filename=file-name"
    });
    using (MemoryStream ms = new MemoryStream())
    {
        blob.DownloadToStream(ms);
        return ms;
    }

}
Run Code Online (Sandbox Code Playgroud)

并在 aspx.cs …

asp.net webforms memorystream filestream azure-storage

2
推荐指数
1
解决办法
1544
查看次数