Skip to content

Instantly share code, notes, and snippets.

@Angelfire
Created August 27, 2021 14:38
Show Gist options
  • Save Angelfire/4653a37b15906a2db4984654c6159ebc to your computer and use it in GitHub Desktop.
Save Angelfire/4653a37b15906a2db4984654c6159ebc to your computer and use it in GitHub Desktop.
Upload files into local folders
const fs = require('fs').promises
const path = require('path');
const baseDir = path.join(__dirname, '../uploads')
const getUniqueFilename = () => {
var timestamp = (new Date()).getTime();
var randomInteger = Math.floor((Math.random() * 1000000) + 1);
return `${timestamp}_${randomInteger}.png`;
};
const handleLocalUpload = async (base64Img) => {
const data = base64Img.replace(/^data:image\/\w+;base64,/, '')
const getName = getUniqueFilename()
try {
await fs.writeFile(`${baseDir}/${getName}`, data, { encoding: 'base64' })
} catch (error) {
console.error(error)
}
}
module.exports = handleLocalUpload
///
handleLocalUpload('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAAAXNSR0IArs4c6QAAAUtJREFUKFNNkbFuHDEMRB9J7fr/vyStq3QuU11wBlwYQeAiReAgne8kkg6ljc9aCLtLcjjDoXz59pgeSR9OOEg9ImhdIG39I0JmEB7I/ekpRZXencvblYiE1AmqeEggegBZR76ezmlmqBqj2IIJHCPoY6CtGHwWW2vs24Y8fD/l1hpNhX3bKamXPihCEcNakuF4dQNUFTk9nXMzYTNl3xqRwWUEQc1h3FkVLnkRgbsjP1+e03BMQK0kGIhyLcZrZxdmw4o3a4vp7+tzSsZ0pjpWsECJEJkYS1YxlTFqhvjbj0wgPKkPEaWMycjlpPiyfCJXM/H+ksyN1FLWPnQmywCBHJU4gLJAY/zKtcaj2wQeC0lFYoCUlpK9EnL131kMS8Jxp+Bjjpw+ztzCCNL99SbvSN6oQHMZ8flI9z+r7Yem/4y3spqk5ppV/17vfOivB4Sc0rsAAAAASUVORK5CYII=')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment