Я пытаюсь использовать Microsoft Azure Storage SDK для Node.js и JavaScript для браузеров (https://github.com/Azure/azure-storage-node) для отображения содержимого PDF, хранящегося в BLOB-объекте Azure, в браузерах. До сих пор я не нашел примеров того, каксделайте это.
Я пытался следовать предложению https://github.com/Azure/azure-storage-node/issues/440,, но не смог заставить его работать. Я использую функцию Azure.
module.exports = async function (context, req) {
let accessToken = await getAccessToken();
let container = req.params.container;
let filename = req.params.filename;
let tokenCredential = new azure.TokenCredential(accessToken);
let storageAccountName = process.env.StorageAccountName;
let blobService = azure.createBlobServiceWithTokenCredential(`https://${storageAccountName}.blob.core.windows.net/`, tokenCredential);
return new Promise((resolve, reject) => {
let readStream = blobService.createReadStream(container, filename, function (error, result, response) {
if (error) {
context.log(error);
context.log(response);
context.res = {
status: 400,
body: response
};
resolve(context.res);
}
});
let body = '';
readStream.on('data', (chunk) => {
body += chunk;
});
readStream.on('end', () => {
context.res = {
headers: {
'Content-Type': "application/pdf"
},
body: body
};
resolve(context.res);
});
});
};
Но я получил "Не могу"сообщение об ошибке "Не открывать PDF" в браузере или ошибка времени ожидания.