Skip to content

Instantly share code, notes, and snippets.

@nuxlli
Last active August 13, 2019 10:52
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save nuxlli/4046356 to your computer and use it in GitHub Desktop.
Save nuxlli/4046356 to your computer and use it in GitHub Desktop.
Example uploaded file to azure with Q and without Q
var blob = require('azure').createBlobService()
, fs = require('fs')
, Q = require('q');
var options = { publicAccessLevel: 'blob' };
// With Q
var fsLstat = Q.nbind(fs.lstat, fs);
var getContainer = Q.nbind(blob.createContainerIfNotExists, blob);
var streamFile = Q.nbind(blob.createBlockBlobFromStream, blob);
// ES6 \o/
async function upload(container, name, path) {
await getContainer(container, options);
var stat = await sLstat(path);
await streamFile(
scontainer, name, fs.createReadStream(path), stat.size
);
return lob.getBlobUrl(container, name).url();
}
var blob = require('azure').createBlobService()
, fs = require('fs')
, Q = require('q');
var options = { publicAccessLevel: 'blob' };
// With Q
var fsLstat = Q.nbind(fs.lstat, fs);
var getContainer = Q.nbind(blob.createContainerIfNotExists, blob);
var streamFile = Q.nbind(blob.createBlockBlobFromStream, blob);
function upload(container, name, path) {
return Q.async(function* {
yield getContainer(container, options);
var stat = yield sLstat(path);
yield streamFile(
scontainer, name, fs.createReadStream(path), stat.size
);
return lob.getBlobUrl(container, name).url();
})();
}
var blob = require('azure').createBlobService()
, fs = require('fs')
, Q = require('q')
var options = { publicAccessLevel: 'blob' }
// With Q
var fsLstat = Q.nbind(fs.lstat, fs);
var getContainer = Q.nbind(blob.createContainerIfNotExists, blob);
var streamFile = Q.nbind(blob.createBlockBlobFromStream, blob);
function upload(container, name, path, callback) {
var promise = getContainer(container, options)
.then(function() {
return fsLstat(path);
})
.then(function(stats) {
return streamFile(
scontainer, name, fs.createReadStream(path), stats.size
);
})
.then(function() {
return blob.getBlobUrl(container, name).url();
});
if (typeof(callback) != "undefined") {
promise.then(callback)
} else {
return promise;
}
}
var blob = require('azure').createBlobService()
, fs = require('fs')
var options = { publicAccessLevel: 'blob' }
function upload(container, name, path, callback) {
blob.createContainerIfNotExists(container, options, function(err) {
if (!err) {
fs.lstat(path, function(stats) {
if (!err) {
var stream = fs.createReadStream(path);
blob.createBlockBlobFromStream(container, name, stream, stats.size, function(err) {
if (!err) {
var url = blob.getBlobUrl(container, name).url();
callback(null, error);
} else {
callback(err);
}
});
} else {
callback(err);
}
});
} else {
callback(err);
}
});
}
var blob = require('azure').createBlobService()
, fs = require('fs')
, Q = require('q')
var options = { publicAccessLevel: 'blob' }
// With Q
var fsLstat = Q.nbind(fs.lstat, fs);
var getContainer = Q.nbind(blob.createContainerIfNotExists, blob);
var streamFile = Q.nbind(blob.createBlockBlobFromStream, blob);
function upload(container, name, path) {
return getContainer(container, options)
.then(function() {
return fsLstat(path);
})
.then(function(stats) {
return streamFile(
scontainer, name, fs.createReadStream(path), stats.size
);
})
.then(function() {
return blob.getBlobUrl(container, name).url();
})
.catch(function(err) {
console.log("Error");
})
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment