Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何通过API调用从azure容器中分块获取blob数据?_Node.js_Azure_Rest_Get_Azure Storage Blobs - Fatal编程技术网

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

Node.js 如何通过API调用从azure容器中分块获取blob数据?,node.js,azure,rest,get,azure-storage-blobs,Node.js,Azure,Rest,Get,Azure Storage Blobs,我正在尝试通过API调用从azure blob容器检索数据,它工作正常,但对于20或30 MB的文件,从API获取响应几乎需要3-4分钟,这从用户角度来看并不好。是否有一种方法可以从azure中分块获取数据,以便我们可以向用户显示渐进的数据?下面是我用来获取数据的node js代码片段: var request = require('request').defaults({ encoding: null }); const fileUrl = "File Url"; requ

我正在尝试通过API调用从azure blob容器检索数据,它工作正常,但对于20或30 MB的文件,从API获取响应几乎需要3-4分钟,这从用户角度来看并不好。是否有一种方法可以从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标头的值

通过使用:

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

第二种格式,bytes=startByte-endByte,可用于使用所有版本(2009-04-14至最新版本)的请求以及存储仿真程序服务的所有版本。此范围将返回从偏移量起始字节到结束字节的字节。例如,要指定包含blob前512字节的范围,请传入以下任一标头:

范围:字节=0-511


那么你正在寻找一个关于在下载时显示进度条的演示?不,我想显示我将从azure获得的分块数据,这样用户会认为数据尚未完全加载,就像下面URL中显示的数据一样,最初它显示模糊数据,然后以完全分辨率显示数据,当你通过网站的网络时,你会发现它是以块的形式获取数据的。请编辑您的问题并包含您迄今为止编写的代码。添加的代码请检查