J'essayais de télécharger une image dans un espace de stockage azuré en utilisant createBlockBlobFromLocalFile
. Et j'ai créé le sasToken comme ce azure-storage-node chargé here. Voici mon code pour le téléchargement.Azure blob sasToken "La signature ne correspond pas"
module.exports = function(params) {
var config = require('../../config/secrets');
var fs = require('fs');
var azure = require('azure-storage');
var controllers = {};
var blobSvc = azure.createBlobService(config.BLOB_LINK, config.BLOB_KEY);
controllers.upload = function (req, res, next){
var fstream;
req.pipe(req.busboy);
var startDate = new Date();
var expiryDate = new Date(startDate);
expiryDate.setMinutes(startDate.getMinutes() + 100);
startDate.setMinutes(startDate.getMinutes() - 100);
var sharedAccessPolicy = {
AccessPolicy: {
Permissions: azure.BlobUtilities.SharedAccessPermissions.WRITE,
Start: startDate,
Expiry: expiryDate
}
};
req.busboy.on('file', function (fieldname, file, filename) {
fstream = fs.createWriteStream(__dirname + '/upload/' + filename);
file.pipe(fstream);
fstream.on('close', function() {
var sharedAccessSignatureToken = blobSvc.generateSharedAccessSignature('resources', filename, sharedAccessPolicy);
var sharedBlobService = azure.createBlobServiceWithSas(blobSvc.host, sharedAccessSignatureToken);
console.log("sas", sharedAccessSignatureToken);
sharedBlobService.createBlockBlobFromLocalFile(
'resources',
filename,
fstream.path,
function(error, result, response) {
if (error) {
res.send(error);
return;
}
res.send(result);
});
});
});
}
return controllers;
};
Mais Im obtenir cette erreur sur mon frontend.
Ceci est une note très utile, je vais tout vérifier et ensuite je reviens vers vous. – CENT1PEDE
Bonjour gary J'ai fait en sorte que le conteneur 'resources' existe mais il a toujours le même problème. – CENT1PEDE
Quelle est votre version de 'azure-storage' lib, et quel est votre nom de fichier de test? –