node.js - 使用 SAS (NODEJS) 从 Azure Blob 存储创建可共享 URI

标签 node.js angular azure download

我正在尝试为 Azure Blob 存储中的单个文件创建具有共享访问签名的 URI。我想在我的后端创建这个并将链接发送到我的 Angular 前端,以便用户可以直接下载文件。

我在这里找到了一个类似的 C# 示例:How to download a file to browser from Azure Blob Storage

但是我无法找到 NodeJS 的正确方法。我看了https://learn.microsoft.com/de-de/rest/api/storageservices/create-user-delegation-sas但我不确定如何使用该信息。

最佳答案

这里是获取 blob sas url 的示例代码。

var azure = require('azure-storage');
var blobService = azure.createBlobService('storage connection');
// Create a SAS token that expires in an hour
    // Set start time to five minutes ago to avoid clock skew.
    var startDate = new Date();
    startDate.setMinutes(startDate.getMinutes() - 5);
    var expiryDate = new Date(startDate);
    expiryDate.setMinutes(startDate.getMinutes() + 60);

    permissions = azure.BlobUtilities.SharedAccessPermissions.READ;

    var sharedAccessPolicy = {
        AccessPolicy: {
            Permissions: permissions,
            Start: startDate,
            Expiry: expiryDate
        }
    };
    var container='test';
    var blobName='test.txt';
    var sasToken = blobService.generateSharedAccessSignature(container, blobName, sharedAccessPolicy);
    var url=blobService.getUrl(container,blobName,sasToken);
    console.log(url);

enter image description here

关于node.js - 使用 SAS (NODEJS) 从 Azure Blob 存储创建可共享 URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58991356/

相关文章:

javascript - 在 jQuery 中写入 ejs 变量

json - vscode调试器找不到模块

javascript - 无法访问 node js 中 express.session 的登录值

angular - Rxjs 使用嵌套数组合并两个可观察量

jquery - 如何在 Angular2 中使用 jQuery 插件?插件先运行,DOM 更新后

c# - 改进 Azure 表存储更新插入

session - VIP 交换期间 Web 角色的共置缓存

javascript - 在 MongoDB 中使用嵌套属性查找文档

angular - 构建 Angular 谷歌地图 AGM 时出错

c# - .NET Core 2.1 - 在 NPE 中设置 Azure Insights 采样配置结果