【发布时间】:2021-09-15 20:10:18
【问题描述】:
我正在创建 react 和 express/Azure SQL db 中的博客文章列表。我可以使用 Azure blob 存储来存储与帖子关联的图像。我还能够获取 blob url,并将其存储在我的 SQL 数据库中。但是,当我想直接读取 url 时,它抛出了一个找不到资源的错误。在搜索文档和其他 stackoverflow 答案后,我可以推断它与 SAS 令牌有关。谁能解释一下解决这个问题的更好方法是什么?
https://yourdomain.blob.core.windows.net/imagecontainer/yourimage.png
下面是nodejs代码。
router.post('/image', async function (req, res) {
try {
console.log(req.files.files.data);
const blobName = 'test' + uuidv1() + '.png';
const containerClient = blobServiceClient.getContainerClient(containerName);
const blockBlobClient = containerClient.getBlockBlobClient(blobName);
const uploadBlobResponse = await blockBlobClient.upload(req.files.files.data, req.files.files.data.length)
res.send({tempUrl:blockBlobClient.url});
} catch (e) {
console.log(e);
}
})
【问题讨论】:
-
您的应用程序是否打算成为公共应用程序?或者您是否想让 blob 仅按需访问,例如当有人访问您应用程序上的特定页面时?
-
@GauravMantri 我想选择第二个选项,即按需访问。
标签: node.js reactjs azure azure-sql-database azure-blob-storage