media_upload
Version:
simplify upload file using multiparty to the server
1 lines • 2.59 kB
JavaScript
{"filter":false,"title":"index.js","tooltip":"/index.js","undoManager":{"mark":0,"position":0,"stack":[[{"start":{"row":0,"column":0},"end":{"row":61,"column":0},"action":"insert","lines":["var multiparty = require('multiparty'),"," fs = require('fs'),"," uuid = require('node-uuid');","","exports.upload_file = function (http_request, settings, call_back) {"," var configrations = {};"," if(typeof(settings) === 'function'){"," configrations = JSON.parse(fs.readFileSync('./configuration.json', 'utf8'));"," } else {"," configrations.upload_to = settings.upload_to_folder;"," configrations.public_url = settings.public_url;"," }",""," try {"," var size = '';"," var file_name = uuid.v4();"," var destination_path = '';"," var form = new multiparty.Form();"," form.on('error', function (error) {"," return call_back(error, \"\");"," });",""," form.on('part', function (part) {"," if (!part.filename)"," return;"," size = part.byteCount;"," file_name = part.filename;"," });",""," form.on('file', function (name, file) {"," var temporal_path = file.path;"," var extension = file.path.substring(file.path.lastIndexOf('.'));"," destination_path = configrations.upload_to + file_name + extension;"," file_name = file_name + extension;"," var input_stream = fs.createReadStream(temporal_path);"," var output_stream = fs.createWriteStream(destination_path);"," input_stream.pipe(output_stream);",""," input_stream.on('end', function () {"," fs.unlinkSync(temporal_path);"," });"," });",""," form.on('close', function () {"," if(typeof(settings) === 'function'){"," settings(\"\", configrations.public_url + file_name);"," } else {"," call_back(\"\", configrations.public_url + file_name);"," }"," });",""," form.parse(http_request);"," }"," catch (exception) {"," if(typeof(settings) === 'function'){"," settings(exception, \"\");"," } else {"," call_back(exception, \"\");"," }"," }","};",""],"id":1}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":9,"column":6},"end":{"row":9,"column":19},"isBackwards":true},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1469891175691,"hash":"0304b1d9e131e2efa793ba7f93a847abc66434a2"}