从 Azure Blob 存储下载文件

Posted

技术标签:

【中文标题】从 Azure Blob 存储下载文件【英文标题】:Download files from Azure blob storage 【发布时间】:2021-12-08 22:23:15 【问题描述】:

有为下载按钮编写的html代码。 完整的 Sharepoint 2013 托管应用程序功能具有 JS 代码。 有使用 C# 从 SAP 系统获取数据的 WCF 解决方案。 应用程序中有一个页面有下载按钮。用户单击后,该文件应从 Azure Blob 存储下载。

请帮助我们如何实现这一目标。

【问题讨论】:

查看***.com/questions/18605910/… 请编辑您的问题并包含您目前编写的代码以及您遇到的问题。从您的问题来看,似乎有人给了您一个编码练习,而您正在寻找一个现成的解决方案。 @GauravMantri :有 pdf 文件存储为 Azure blob 存储。我们确实有 sharepoint 2013 门户,其 UI 功能内置在 JS 中。已经有内置在 C# 中的解决方案作为 wcf 服务来从 SAP 系统获取数据到共享点。但是,我需要有关如何从 bowser 下载这些 pdf 的指导。请协助,因为我以前没有在 azure 上工作过 【参考方案1】:

我已经在我的环境中测试过

您可以使用以下 javascript 函数从 Azure blob 存储下载文件:

    async function main() 
        var fs = require('fs');
        const  BlobServiceClient, StorageSharedKeyCredential  = require("@azure/storage-blob");
        const account = "storage account name";
        const accountKey = "storage account key"
        const sharedKeyCredential = new StorageSharedKeyCredential(account, accountKey);
        const blobServiceClient = new BlobServiceClient(
        `https://$account.blob.core.windows.net`,
        sharedKeyCredential);
        const containerClient = blobServiceClient.getContainerClient("container name");
        const blobClient = containerClient.getBlobClient("blob file name to be downloaded");
        const response = await blobClient.downloadToFile("blob file name to be downloaded");
    main();

【讨论】:

有 pdf 文件存储为 Azure blob 存储。我们确实有 sharepoint 2013 门户,其 UI 功能内置于 JS。已经有内置在 C# 中的解决方案作为 wcf 服务来从 SAP 系统获取数据到共享点。但是,我需要有关如何从 bowser 下载这些 pdf 的指导。请协助,因为我以前没有在 azure 上工作过 当用户点击 UI 上的下载按钮时,需要下载存储在 Azure blob 存储中的 pdf 文件。这是你的要求吗? 是的。这是要求 但是需要天蓝色的连接,对吧?还有 Azure REST API 调用来获取 blob? 我已经编辑了答案。您可以使用上述 javascript 函数从存储帐户下载 blob 文件

以上是关于从 Azure Blob 存储下载文件的主要内容,如果未能解决你的问题,请参考以下文章

使用 Azure 函数从 Azure Blob 存储下载文件会返回不同的文件大小

从 Azure Blob 存储下载文件

将文件从 Azure Blob 存储下载到 Azure Linux VM

使用 AspNet 从 Azure Blob 存储下载和重命名文件

恢复文件从用户的机器上传到 Azure Blob 存储和从 Azure Blob 下载文件到用户的机器在 Typescript(angular) 从浏览器

使用 SAS 将文件从 Azure Blob 存储下载到浏览器