【发布时间】:2020-03-20 16:45:32
【问题描述】:
我正在尝试从 azure blob 存储下载多个文件。我有以下代码。
exports.fileDownload = (req,res,next) => {
for(i=0;i<req.body.FileName.length;i++){
downloadFileName1.push(req.body.FileName[i]);
req.body.downloadFileName = downloadFileName1;
blobfilename1.push(req.body.Entity_ID + '/' + req.body.FileType + '/' +
req.body.FileName[i]);
req.body.blobFileName = blobfilename1;
}
blobservice.getBlobDataToStream(req,res)
}
------
const getBlobDataToStream = async function(req,res){
for(var j=0;j<downloadNames.Length;j++){
res.setHeader("Content-Disposition","attachment;filename=" + downloadNames[j]);
res.setHeader("Content-Type","image/jpg");
res.setHeader("Access-Control-Allow-Headers","X-Requested-With,content-type");
}
for(var k=0;k<blobF.Length;k++){
getBlob(blobfilename[k]);
}
function getBlob(blobFileNamee){
blobService.getBlobToStream(storageName, blobFileNamee , res, function(error, result, response)
{
console.log("------------------")
if(error){
console.log('error',error);
res.send({error:error, status: false});
}
else{
console.log('resp',result);
resp = result;
res.end();
}
})
}
}
有人可以帮我解决这个问题吗?我收到“结束后写入”错误。
【问题讨论】:
-
发布整个代码,因为这似乎在快速路线内。虽然错误很明显,但是一旦你提交了整个代码,我就会给出答案,所以不会有误解。
-
@MarcosCasagrande 谢谢。我已经发布了..你能检查一下吗?
-
您是否尝试在同一个请求中下载多个文件?
-
@MarcosCasagrande 是的..