如何通过API调用从azure容器中分块获取blob数据



我正在尝试通过API调用从azure blob容器中检索数据,它工作正常,但对于20或30 MB的文件,它几乎需要3-4分钟才能从API获得响应,这从用户的角度来看是不好的。有没有一种方法可以从azure中分块获取数据,这样我们就可以向用户显示渐进的数据?下面是我用来获取数据的node-js代码片段:

var request = require('request').defaults({ encoding: null });
const fileUrl = "File Url";
request.get(fileUrl, function (error, response, body) {
if (!error && response.statusCode == 200) {
const image = body.toString('base64');
res.status(200).json({ image })
} else {
res.status(400).json({})
}
});

请求Blob的内容长度:

blob的大小(以字节为单位(。对于页面blob,此标头返回与blob一起存储的x-ms-blob-content-length标头的值。

使用Range Headers:获取blob

可选范围。仅返回指定范围内blob的字节。

第二种格式字节=startByte-endByte可用于使用所有版本(2009-04-14至最新版本(的请求,也可用于存储模拟器服务的所有版本。此范围将从偏移量startByte到endByte返回字节。例如,要指定一个包含blob的前512个字节的范围,您可以传入以下任一标头:

范围:字节=0-511

最新更新