az.createBlockBlobFromLocalFile( u.path.slice(1), p + suffix, wc.exportFile, null, err => { if (err) log('Azure upload error', err); done(); } );
function getList(list, token, done) { az.listBlobsSegmentedWithPrefix(self.container, self.prefix, token, function (err, data) { if (err) throw new Error('az.listBlobsSegmented failed'); list = list.concat(data.entries); if (data.continuationToken) return getList(list, data.continuationToken, done); done(err, list); }); }
blobService.deleteBlobIfExists(containerName, blobName, (err, res) => { if (err) { reject(err); } else { resolve(res); } });
router.post('/upload', util.ensureAuthenticated, util.hasRole("admin"), uploadStrategy, (req, res) => { const blobName = getBlobName(req.file.originalname) , stream = getStream(req.file.buffer) , streamLength = req.file.buffer.length ; blobService.createBlockBlobFromStream(containerName, blobName, stream, streamLength, {contentSettings:{contentType:req.file.mimetype}} , err => { if(err) { res.status(500).json(err); } res.status(200).send(blobName); }); });
this.router.post('/:clan/upload', util.ensureAuthenticated, util.hasRole("clanleader"), uploadStrategy, async (req, res) => { let clan = await clanService.getClanByName(req.params.clan); let account = await accountService.getAccount(req.user.name); if (!clan || clan.leader.toLowerCase() !== account.coach.toLowerCase()){ res.status(403).send(`you're not the leader of this clan, ${clan.leader} is.`); return; } const blobName = this.getBlobName(`${req.params.clan}-${req.file.originalname}`) , stream = getStream(req.file.buffer) , streamLength = req.file.buffer.length; blobService.createBlockBlobFromStream(containerName, blobName, stream, streamLength, {contentSettings:{contentType:req.file.mimetype}} , err => { if(err) { res.status(500).send(err); return; } clanService.setLogo(req.params.clan, blobName); res.status(200).send(blobName); }); });
function deleteAzureDir(container, prefix, done) { function getList(list, token, done) { az.listBlobsSegmentedWithPrefix(container, prefix, token, function (err, data) { if (err) throw new Error('az.listBlobsSegmented failed'); list = list.concat(data.entries); if (data.continuationToken) return getList(list, data.continuationToken, done); done(err, list); }); } getList([], null, function (err, res) { if (!res || !res.length) return done(); let toDelete = res.length; res.forEach(function (element) { az.deleteBlob(container, element.name, function (err) { if (--toDelete <= 0) done(err); }); }); }); }