gpt4 book ai didi

c# - 打开存储在 Azure Blob 存储中的 pdf 文件(使用字节)

转载 作者:太空宇宙 更新时间:2023-11-03 14:48:23 24 4
gpt4 key购买 nike

我正在尝试调整旧逻辑以支持来自 blob 的文件,任何人都可以指导我如何打开存储在 azure blob 存储中的 pdf 文件。

我尝试搜索并找到了答案 How to download a file to browser from Azure Blob Storage这是使用 SAS 配置来做到这一点(如果我没记错的话)。

有什么办法可以转换为字节吗?

从 Windows 位置打开 pdf 文件的早期逻辑

Response.Buffer = true;
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "application/pdf";
Response.AppendHeader("content-disposition", "inline; filename=" + mapid + ".pdf");

FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.Read);
BinaryReader br = new BinaryReader(fs);
Byte[] dataBytes = br.ReadBytes((int)(fs.Length - 1));
Response.BinaryWrite(dataBytes);
br.Close();
fs.Close();

我正在重写从 blob 读取文件的逻辑,下面的代码是我迄今为止尝试过的,

Byte[] dataBytes1;
CloudBlockBlob blobfile = GetStorageAccount(true).GetBlockBlobReference(filename);
blobfile.FetchAttributes();

using (StreamReader blobfilestream = new StreamReader(blobfile.OpenRead()))
{
dataBytes1 = blobfilestream.CurrentEncoding.GetBytes(blobfilestream.ReadToEnd());
}
Byte[] value = BitConverter.GetBytes(dataBytes1.Length - 1);
Response.BinaryWrite(value);

但文件未打开,并出现错误“加载失败”。如果这是一个好的方法,谁能指导我?

最佳答案

您可以使用DownloadToStreamAsync并使用 Response.OutputStream 作为目标流。

await blob.DownloadToStreamAsync(Response.OutputStream);

关于c# - 打开存储在 Azure Blob 存储中的 pdf 文件(使用字节),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53086162/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com