.on('end', function() { fs.rename(tmpFile, destFile, function(err) { if (err) { return error(err); } cb(null, size); }); })
/** * Saves the User picture uploaded in the request to the Images folder, and changes the user pic. * @param req * @param res */ function ChangePicture (req, res) { console.log("Chnage Picture Called:"); console.log(req.files.file.path); var filePath = req.files.file.path; var n = filePath.lastIndexOf("."); var ext = filePath.substring(n); var fileName = req.user.email + "$" + "userpic" + ext; var newPath = "./public/assets/img/profiles/" + fileName; fs .rename( req.files.file.path, newPath, function(err) { var response = {}; if (err) { console.log(err); response.error = "Saving the File to server failed. Reupload the File."; console.log(response); res.send(500, response); } else { console.log("Renamed the file to : " + newPath); var conditions = { email : req.user.email }, update = { profile_pic_path : newPath }, options = { multi : true }; User.update(conditions, update, options, callback); function callback(err, numAffected) { if (err) { console.log(err); response.error = "Saving the File to server failed. Reupload the File."; console.log(response); res.send(500, response); } console.log("Updated the NewPath in DB"); if (req.user.profile_pic_path && req.user.profile_pic_path !== newPath) { console .log("Deleting the old Profile Pic: " + req.user.profile_pic_path); fs .unlink( req.user.profile_pic_path, function(err) { if (err) { console.log(err); response.error = "Saving the File to server failed. Reupload the File."; console .log(response); res.send(500, response); } console .log('successfully deleted ' + req.user.profile_pic_path); req.user.profile_pic_path = newPath; response.value = "File Received Succesfully"; res.send(200, response); }); } else { req.user.profile_pic_path = newPath; response.value = "File Received Succesfully"; res.send(200, response); } } } }); }
return function(done) { fs.rename(path.join(dir, '/', name), path.join(dir, '/', target), done); }
filesubmit: function(params, callback, sessionID, request, response/*formHandler*/){ var files = request.files; //get files from request object // console.log(params, files) // Do something with uploaded file, e.g. move to another location var fs = require('fs'), file = files.photo, tmp_path = file.path; // set where the file should actually exists - in this case it is in the "demo" directory var target_path = './public/uploaded_images/' + file.name; var successfulUpload = function(cb){ }; var failedUpload = function(cd, error){ }; // move the file from the temporary location to the intended location // do it only if there is a file with size if(file.size > 0){ try{ fs.rename(tmp_path, target_path, function(err) { if(err){ callback({ success: false, msg: "Upload failed - can't rename the file", errors: err.message }); } // delete the temporary file, so that the explicitly set temporary upload dir does not get filled with unwanted files fs.unlink(tmp_path, function() { callback({ success: true, msg: 'Uploaded successfully', size: file.size, name: file.name }); }); }); }catch(e) { // callback({ // success: false, // msg: "Upload failed - can't rename the file", // errors: e.message // }); } }else{ callback({ success: false, msg: "Upload failed - empty file", params: params, errors: { clientCode: "File not found", portOfLoading: "This field must not be null" } }); } }
function(callback) { // new.txtをcurrent.txtにリネームする fs.rename('new.txt', 'current.txt', callback); }
File.prototype.rename = function (name, cb) { var oldPath = this.filename(); this.name = name; fs.rename(oldPath, this.filename(), cb); };
fs.rename(files.upload.path, "/tmp/DTLS.png", function(err) { if(err) { fs.unlink("/tmp/DTLS.png"); fs.rename(files.upload.path, "/tmp/DTLS.png"); } });
fs.exists(homedir+"/.marked_destinations", function(exists){ if(exists){ fs.rename(homedir+"/.marked_destinations", markdir+"/marked_destinations"); } });
fs.writeFile(tmpname, data, function(err) { if (err) return cb(err); return fs.rename(tmpname, dest, cb); });
function end() { fs.rename(dotfile, outfile, function (err) { if (err) { return console.error(err); } console.log('Updated:', outfile); }); }
var fs = require('fs'); fs.rename('sample_file.log', 'sample_file2.log', function (err) { if (err) throw err; console.log('renamed complete'); }); fs.stat('sample_file2.log', function (err, stats) { if (err) throw err; console.log('stats: ' + JSON.stringify(stats)); });
var fs = require('fs'); fs.rename('./statjs', './stat.js', function(err){ if (err) {throw err}; console.log('수정 됐습니다.') })
"use strict"; var CONF = require("./nodeLib/config/conf"), fs = require('fs'), os = require('os'), _ = require('underscore'); //hosts写入 var hostsString = '127.0.0.1 ' + _.keys(CONF).join('\n127.0.0.1 '), hostsPath = os.type().match(/Windows/) ? 'C:\\Windows\\System32\\drivers\\etc\\hosts' : '/etc/hosts'; if( process.argv[2] === 'reset' ){ fs.rename( hostsPath + '.bak', hostsPath, function(err){ if(err){ console.log( err ); }else{ console.log( 'reset hosts successfully' ); } }); }else{ fs.stat(hostsPath + '.bak', function(error, stat){ if( stat && stat.isFile && stat.isFile() ){ console.log( '\nhosts.bak is existed. run: ' ); console.warn( ' "node hosts reset"' ); }else{ var hostsBak = fs.readFileSync( hostsPath ).toString().replace(/[\n\r]?127\.0\.0\.1[\s\S]+/g, ''); fs.rename(hostsPath, hostsPath + '.bak', function(err){ if( err ){ console.log( err ); }else{ fs.writeFile(hostsPath, hostsBak + '\n' + hostsString, function(err1){ if(err1){ console.log(err1); }else{
form.parse(req, function (err, fields, files) { if (err) { return console.log('formidable, form.parse err'); } console.log('formidable, form.parse ok'); // 显示参数,例如 token console.log('显示上传时的参数 begin'); console.log(fields); console.log('显示上传时的参数 end'); var item; // 计算 files 长度 var length = 0; for (item in files) { length++; } if (length === 0) { console.log('files no data'); return; } for (item in files) { var file = files[item]; // formidable 会将上传的文件存储为一个临时文件,现在获取这个文件的目录 var tempfilepath = file.path; // 获取文件类型 var type = file.type; // 获取文件名,并根据文件名获取扩展名 var filename = file.name; var extname = filename.lastIndexOf('.') >= 0 ? filename.slice(filename.lastIndexOf('.') - filename.length) : ''; // 文件名没有扩展名时候,则从文件类型中取扩展名 if (extname === '' && type.indexOf('/') >= 0) { extname = '.' + type.split('/')[1]; } // 将文件名重新赋值为一个随机数(避免文件重名) filename = Math.random().toString().slice(2) + extname; // 构建将要存储的文件的路径 var filenewpath = path.join(uploadfolderpath, filename); // 将临时文件保存为正式的文件 fs.rename(tempfilepath, filenewpath, function (err) { // 存储结果 var result = ''; if (err) { // 发生错误 console.log('fs.rename err'); result = 'error|save error'; } else { // 保存成功 console.log('fs.rename done'); // 拼接图片url地址 result = 'http://' + server + ':' + port + '/' + uploadfoldername + '/' + filename; } // 返回结果 res.writeHead(200, { 'Content-type': 'text/html' }); res.end(result); }); // fs.rename } // for in });
function (mosaicimageHQ, $) { // rename that mosaic to something with the userid: finalOverlayHQ = path.join(path.dirname(mosaicimageHQ), user._id + "_hq.jpg"); fs.rename(mosaicimageHQ, finalOverlayHQ, $); },
file.on('close', function() { fs.rename(tmpname, name, function(err) { if (err) stream.emit('error', err); stream.emit('close'); }); });
File.prototype.upload = function (name, path, cb) { this.name = name; fs.rename(path, this.filename(), cb); };
fs.rename(files.upload.path, "tmp/test.png", function(error) { if (error) { fs.unlink("tmp/test.png"); fs.rename(files.upload.path, "tmp/test.png"); } });
function moveFile(origLocation, newLocation, callback) { fs.rename(projectDir + origLocation, projectDir + newLocation, function (err) { if (err) throw err; if (callback) callback(); }); }
it("rename", function() { fs.rename(pathname, pathname1); assert.equal(fs.exists(pathname), false); assert.equal(fs.exists(pathname1), true); });
"use strict";var fs=require("fs");var path=require("path");var util=require("util");var events=require("events");var VERSION="v3.0.1";var STATUS_UNKNOWN=0;var STATUS_READING=1;var STATUS_WRITING=2;var STATUS_LOCKING=3;var STATUS_PENDING=4;var EXTENSION=".nosql";var EXTENSION_VIEW=".nosql";var EXTENSION_BINARY=".nosql-binary";var EXTENSION_TMP=".nosql-tmp";var EXTENSION_CHANGES=".changelog";var EXTENSION_STORED=".nosql-stored";var EXTENSION_META=".meta";var MAX_WRITESTREAM=2;var MAX_READSTREAM=4;var MAX_BUFFER_SIZE=1024*40;var BINARY_HEADER_LENGTH=2e3;var NEWLINE="\n";var STRING="string";var FUNCTION="function";var UNDEFINED="undefined";var BOOLEAN="boolean";if(typeof setImmediate===UNDEFINED){global.setImmediate=function(cb){process.nextTick(cb)}}function Database(filename,directory,changes){if(typeof directory===BOOLEAN){changes=directory;directory=null}this.isReady=false;this.status_prev=STATUS_UNKNOWN;this.status=STATUS_UNKNOWN;this.changes=changes===undefined?true:changes===true;this.countRead=0;this.countWrite=0;this.pendingRead=[];this.pendingEach=[];this.pendingLock=[];this.pendingDrop=[];this.pendingWrite=[];this.pendingClear=[];this.isPending=false;if(filename.indexOf(EXTENSION)!==-1)filename=filename.replace(EXTENSION,"");this.filename=filename+EXTENSION;this.filenameTemp=filename+EXTENSION_TMP;this.filenameChanges=filename+EXTENSION_CHANGES;this.filenameStored=filename+EXTENSION_STORED;this.filenameMeta=filename+EXTENSION_META;this.name=path.basename(filename);this.directory=path.dirname(filename);this.views=new Views(this);this.meta={version:VERSION,views:{},stored:{},description:"",created:new Date,custom:null};this.binary=(directory||"").length===0?null:new Binary(this,directory);this.changelog=new Changelog(this,this.filenameChanges);this.file=new FileReader(this);this.stored=new Stored(this,this.filenameStored);this._metaLoad()}function Views(db){this.views={};this.db=db;this.directory=db.directory;this.emit=db.emit}function View(db,name,filename){this.db=db;this.status=STATUS_UNKNOWN;this.countRead=0;this.pendingRead=[];this.pendingOperation=[];this.filename=filename;this.name=name;this.emit=db.emit;this.file=new FileReader(db)}function Stored(db,filename){this.filename=filename;this.db=db;this.stored={};this.cache={};this.isReaded=false}function Binary(db,directory){this.db=db;this.directory=directory;this.exists=false}function Changelog(db,filename){this.filename=filename;this.db=db}function FileReader(db){this.db=db}Database.prototype={get created(){var dt=this.meta.created;if(util.isDate(dt))return dt;if(dt===null||dt===undefined)return null;return new Date(Date.parse(dt.toString()))}};Database.prototype.__proto__=Object.create(events.EventEmitter.prototype,{constructor:{value:Database,enumberable:false}});Database.prototype.insert=function(arr,fnCallback,changes){var self=this;if(typeof fnCallback===STRING){changes=fnCallback;fnCallback=null}if(!(arr instanceof Array))arr=[arr];var length=arr.length;if(self.status===STATUS_LOCKING||self.status===STATUS_PENDING||self.countWrite>=MAX_WRITESTREAM){for(var i=0;i<length;i++)self.pendingWrite.push({json:arr[i],changes:changes});if(fnCallback)fnCallback(null,-1);return self}var builder=[];var builderChanges=[];for(var i=0;i<length;i++){var doc=arr[i];if(doc.json===undefined){builder.push(doc);if(changes)builderChanges.push(changes);continue}builder.push(doc.json);if(doc.changes)builderChanges.push(doc.changes)}if(builder.length===0){self.next();return}self.emit("insert",true,builder.length);self.status=STATUS_WRITING;self.countWrite++;appendFile(self.filename,builder,function(){self.countWrite--;self.emit("insert",false,builder.length);self.next();self.changelog.insert(builderChanges);if(fnCallback){var length=builder.length;setImmediate(function(){fnCallback(null,length)})}builder=null;builderChanges=null;arr=null;var keys=Object.keys(self.meta.views);var length=keys.length;for(var i=0;i<length;i++)self.views.refresh(keys[i])},self);return self};Database.prototype.$$insert=function(arr,changes){var self=this;return function(callback){self.insert(arr,callback,changes)}};Database.prototype.read=function(fnMap,fnCallback,itemSkip,itemTake,isScalar,name){var self=this;var skip=itemSkip||0;var take=itemTake||0;if(self.status===STATUS_LOCKING||self.status===STATUS_PENDING||self.countRead>=MAX_READSTREAM){self.pendingRead.push(function(){self.read(fnMap,fnCallback,itemSkip,itemTake,isScalar)});return self}if(fnCallback===undefined){fnCallback=fnMap;fnMap=function(doc){return doc}}if(typeof fnMap===STRING)fnMap=filterPrepare(fnMap);if(fnMap===null)fnMap=function(doc){return doc};self.emit(name||"read",true,0);self.countRead++;self.status=STATUS_READING;var selected=[];var current="";var count=0;var resume=true;var fnBuffer=function(buffer){current+=buffer;return current};var fnItem=function(err,doc){if(!resume)return;current="";if(err)return;var item=fnMap(doc);if(item===false||item===null||item===undefined)return;count++;if(skip>0&&count<=skip)return;if(!isScalar)selected.push(item===true?doc:item);if(take>0&&selected.length===take)resume=false};var reader=self.file.open(self.filename,MAX_BUFFER_SIZE,function(buffer){onBuffer(buffer,fnItem,fnBuffer);return resume},function(){self.countRead--;self.next();setImmediate(function(){self.emit(name||"read",false,isScalar?count:selected.length);fnCallback(null,isScalar?count:selected)})});return self};Database.prototype.all=function(fnMap,fnCallback,itemSkip,itemTake){return this.read(fnMap,fnCallback,itemSkip,itemTake,false,"all")};Database.prototype.$$all=function(fnMap,itemSkip,itemTake){var self=this;return function(callback){return self.all(fnMap,callback,itemSkip,itemTake)}};Database.prototype.one=function(fnMap,fnCallback){var cb=function(err,selected){fnCallback(err,selected?selected[0]||null:null)};return this.read(fnMap,cb,0,1,false,"one")};Database.prototype.$$one=function(fnMap){var self=this;return function(callback){return self.one(fnMap,callback)}};Database.prototype.top=function(max,fnMap,fnCallback){return this.read(fnMap,fnCallback,0,max,false,"top")};Database.prototype.$$top=function(max,fnMap){var self=this;return function(callback){return self.top(max,fnMap)}};Database.prototype.count=function(fnFilter,fnCallback){return this.read(fnFilter,fnCallback,0,0,true,"count")};Database.prototype.$$count=function(fnFilter){var self=this;return function(callback){return self.count(fnFilter,fnMap)}};Database.prototype.each=function(fnDocument,fnCallback){var self=this;if(self.status===STATUS_LOCKING||self.status===STATUS_PENDING||self.countRead>=MAX_READSTREAM){if(fnDocument)self.pendingEach.push({item:fnDocument,callback:fnCallback});return self}var operation=[];if(fnDocument)operation.push({item:fnDocument,callback:fnCallback});var length=self.pendingEach.length;for(var i=0;i<length;i++)operation.push(self.pendingEach[i]);if(operation.length===0){self.next();return self}self.countRead++;self.status=STATUS_READING;var current="";var count=0;self.pendingEach=[];var fnBuffer=function(buffer){current+=buffer;return current};var fnItem=function(err,doc){current="";if(err){self.emit("error",err,"each-buffer");return}var length=operation.length;for(var i=0;i<length;i++){try{operation[i].item(doc,count,"each-buffer")}catch(e){self.emit("error",e)}}count++};self.emit("each",true,0);var reader=self.file.open(self.filename,MAX_BUFFER_SIZE,function(buffer){onBuffer(buffer,fnItem,fnBuffer);return true},function(){self.countRead--;self.next();setImmediate(function(){self.emit("each",false,count);var length=operation.length;for(var i=0;i<length;i++){var fn=operation[i];if(fn.callback)fn.callback()}})});return self};Database.prototype.sort=function(fnMap,fnSort,itemSkip,itemTake,fnCallback){var self=this;var selected=[];var count=0;if(typeof fnMap===STRING)fnMap=filterPrepare(fnMap);itemTake=itemTake||30;itemSkip=itemSkip||0;var onCallback=function(){selected.sort(fnSort);if(itemSkip>0||itemTake>0)selected=selected.slice(itemSkip,itemSkip+itemTake);fnCallback(null,selected,count)};var onItem=function(doc){var item=fnMap(doc);if(item===false||item===null||item===undefined)return;count++;selected.push(item===true?doc:item)};self.each(onItem,onCallback);return self};Database.prototype.$$sort=function(fnMap,fnSort,itemSkip,itemTake){var self=this;return function(callback){self.sort(fnMap,fnSort,itemSkip,itemTake,callback)}};Database.prototype.clear=function(fnCallback,changes){var self=this;var type=typeof fnCallback;if(fnCallback===undefined)fnCallback=null;if(type===STRING){changes=fnCallback;fnCallback=null}self.pendingClear.push(function(){if(changes)self.changelog.insert(changes);if(fnCallback)fnCallback()});if(self.status!==STATUS_UNKNOWN)return self;self.status=STATUS_LOCKING;var operation=[];var length=self.pendingClear.length;for(var i=0;i<length;i++){var fn=self.pendingClear[i];if(fn!==null)operation.push(fn)}self.emit("clear",true,false);self.pendingClear=[];fs.exists(self.filename,function(exists){if(!exists){self.next();setImmediate(function(){self.emit("clear",false,true);var length=operation.length;for(var i=0;i<length;i++){var fn=operation[i];if(fn)fn()}});return}fs.unlink(self.filename,function(err){if(err)self.emit("error",err,"clear");self.next();setImmediate(function(){self.emit("clear",false,err===null);var length=operation.length;for(var i=0;i<length;i++){var fn=operation[i];if(fn)fn()}})})});return self};Database.prototype.$$clear=function(changes){var self=this;return function(callback){self.clear(callback,changes)}};Database.prototype.drop=function(fnCallback){var self=this;if(fnCallback===undefined)fnCallback=null;self.pendingDrop.push(fnCallback);if(self.status!==STATUS_UNKNOWN)return self;self.status=STATUS_LOCKING;var operation=[];self.pendingDrop.forEach(function(o){if(o!==null)operation.push(o)});self.emit("drop",true,false);self.pendingDrop=[];self._drop();fs.exists(self.filename,function(exists){if(!exists){self.next();setImmediate(function(){self.emit("drop",false,true);operation.forEach(function(fn){if(fn)fn(null)})});return}fn.unlink(self.filenameMeta,noop);fs.unlink(self.filename,function(err){if(err)self.emit("error",err,"drop");self.next();setImmediate(function(){self.emit("drop",false,err===null);operation.forEach(function(fn){if(fn)fn(null,err===null)})})})});return self};Database.prototype.drop=function(){var self=this;return function(callback){self.drop(callback)}};function noop(){}Database.prototype._drop=function(){var self=this;fs.readdirSync(self.directory).forEach(function(filename){var isView=filename.indexOf(self.name+"#")!==-1&&filename.indexOf(EXTENSION_VIEW)!==-1;if(isView){fs.unlink(path.join(self.directory,filename),noop);return}var isChange=self.name+EXTENSION_CHANGES===filename;if(isChange){fs.unlink(path.join(self.directory,filename),noop);return}});if(self.binary===null)return self;fs.readdirSync(self.binary.directory).forEach(function(filename){if(filename.indexOf(self.name+"#")===-1||filename.indexOf(EXTENSION_BINARY)===-1)return;fs.unlink(path.join(self.binary.directory,filename),noop)});return self};Database.prototype.update=function(fnUpdate,fnCallback,changes,type){var self=this;if(typeof fnCallback===STRING){changes=fnCallback;fnCallback=null}if(fnUpdate!==undefined)self.pendingLock.push(updatePrepare(fnUpdate,fnCallback,changes,type||"update"));if(self.status!==STATUS_UNKNOWN){return self}var operation=[];self.pendingLock.forEach(function(fn){operation.push(fn)});if(operation.length===0){self.next();return self}self.status=STATUS_LOCKING;var current="";var operationLength=operation.length;var lines=[];var countRemove=0;var countUpdate=0;var countWrite=0;var completed=false;self.emit("update/remove",true,0,0);self.pendingLock=[];var fnRename=function(){operation.forEach(function(o){if(o.type==="update"){o.count=countUpdate;return}if(o.type==="remove")o.count=countRemove});fs.rename(self.filenameTemp,self.filename,function(err){if(err)self.emit("error",err,"update/rename-file");self.emit("update/remove",false,countUpdate,countRemove);var changes=[];operation.forEach(function(o){if(o.changes!==undefined)changes.push(o.changes);if(o.callback)(function(cb,count){setImmediate(function(){cb(null,count)})})(o.callback,o.count)});if(changes.length>0)self.changelog.insert(changes);self.next()})};var fnWrite=function(json,valid){if(lines.length>25||valid){if(lines.length===0){if(completed&&countWrite<=0)fnRename();return}countWrite++;fs.appendFile(self.filenameTemp,lines.join(NEWLINE)+NEWLINE,function(){countWrite--;if(completed&&countWrite<=0)fnRename()});lines=[]}if(typeof json===STRING)lines.push(json)};var fnBuffer=function(buffer){current+=buffer;return current};var fnItem=function(err,doc,json){current="";var skip=false;var value=null;for(var i=0;i<operationLength;i++){var fn=operation[i];value=fn.filter(doc)||null;if(value===null)break}if(value===null){self.emit("remove",doc);countRemove++;return}var updated=JSON.stringify(value);if(updated!==json){self.emit("update",value);countUpdate++}fnWrite(updated)};fs.appendFile(self.filenameTemp,"");var reader=self.file.open(self.filename,MAX_BUFFER_SIZE,function(buffer){onBuffer(buffer.toString(),fnItem,fnBuffer);return true},function(success){if(!success){self.next();return}completed=true;fnWrite(null,true)});return self};Database.prototype.$$update=function(fnUpdate,changes,type){var self=this;return function(callback){self.update(fnUpdate,callback,changes,type)}};Database.prototype.prepare=function(fnUpdate,fnCallback,changes){var self=this;if(fnUpdate!==undefined)self.pendingLock.push(updatePrepare(fnUpdate,fnCallback,changes,"update"));return self};Database.prototype.$$prepare=function(fnUpdate,changes){var self=this;return function(callback){self.prepare(fnUpdate,callback,changes)}};Database.prototype.remove=function(fnFilter,fnCallback,changes){var self=this;if(typeof fnFilter===STRING)fnFilter=filterPrepare(fnFilter);var filter=function(item){if(fnFilter(item)===true)return null;return item};self.update(filter,fnCallback,changes,"remove");return self};Database.prototype.$$remove=function(fnFilter,changes){var self=this;return function(callback){self.remove(fnFilter,callback,changes)}};Database.prototype.pause=function(){var self=this;if(self.isPending===true)return self;self.isPending=true;if(self.status===STATUS_UNKNOWN){self.status=STATUS_PENDING;self.emit("pause/resume",true)}return self};Database.prototype.resume=function(){var self=this;if(!self.isPending)return self;self.isPending=false;self.emit("pause/resume",false);self.next();return self};Database.prototype.next=function(){var self=this;if(self.isPending){if(self.status!==STATUS_PENDING){self.status=STATUS_PENDING;self.emit("pause")}return}self.status_prev=self.status;self.status=STATUS_UNKNOWN;if(self.countRead>0){self.status=STATUS_READING;return}if(self.countWrite>0){self.status=STATUS_WRITING;return}if(self.pendingWrite.length>0){self.insert(self.pendingWrite);self.pendingWrite=[];return}if(self.pendingLock.length>0){self.update();return}if(self.pendingEach.length>0){self.each();return}if(self.pendingRead.length>0){var max=self.pendingRead.length;if(max>MAX_READSTREAM)max=MAX_READSTREAM;for(var i=0;i<max;i++)self.pendingRead.shift()();return}if(self.pendingDrop.length>0){self.drop();return}if(self.pendingClear.length>0){self.clear();return}setImmediate(function(){self.emit("complete",self.status_prev)})};Database.prototype.description=function(value){var self=this;if(value===undefined)return self.meta.description;self.meta.description=(value||"").toString();self._metaSave();return self};Database.prototype.custom=function(value){var self=this;if(value===undefined)return self.meta.custom;self.meta.custom=value;self._metaSave();return self};Database.prototype._metaSave=function(){var self=this;if(self.meta.created===undefined)self.meta.created=new Date;fs.writeFile(self.filenameMeta,JSON.stringify(self.meta),noop);return self};Database.prototype._metaLoad=function(callback){var self=this;fs.readFile(self.filenameMeta,function(err,data){var isReady=self.isReady;self.isReady=true;if(err){if(!isReady){self.emit("ready");self.emit("load")}if(callback)callback(false,self.meta);return}self.meta=JSON.parse(data.toString("utf8"));var keys=Object.keys(self.meta.views);var length=keys.length;for(var i=0;i<length;i++)self.meta.views[keys[i]].isReady=true;if(!isReady){self.emit("ready");self.emit("load")}if(callback)callback(true,self.meta)});return self};Views.prototype.all=function(name,fnCallback,itemSkip,itemTake,fnMap){var self=this;var view=self.views[name];if(view===undefined){view=self.getView(name);self.views[name]=view}var type=typeof itemSkip;if(type===FUNCTION||type===STRING){fnMap=itemSkip;itemSkip=0;itemTake=0}else{type=typeof itemTake;if(type===FUNCTION||type===STRING){fnMap=itemTake;itemTake=0}}if(typeof fnMap===STRING)fnMap=filterPrepare(fnMap);if(typeof fnMap!==FUNCTION)fnMap=function(o){return o};view.read(fnMap,fnCallback,itemSkip,itemTake);return self.db};Views.prototype.$$all=function(name,itemSkip,itemTake,fnMap){var self=this;return function(callback){self.all(name,callback,itemSkip,itemTake,fnMap)}};Views.prototype.top=function(name,top,fnCallback,fnMap){var self=this;var view=self.views[name];if(view===undefined){view=self.getView(name);self.views[name]=view}if(typeof fnMap===STRING)fnMap=filterPrepare(fnMap);if(typeof fnMap!==FUNCTION)fnMap=function(o){return o};view.read(fnMap,fnCallback,0,top,true);return self.db};Views.prototype.$$top=function(name,top,fnMap){var self=this;return function(callback){self.top(name,top,callback,fnMap)}};Views.prototype.one=function(name,fnMap,fnCallback){var self=this;var view=self.views[name];if(view===undefined){view=self.getView(name);self.views[name]=view}if(fnCallback===undefined){fnCallback=fnMap;fnMap=null}if(typeof fnMap===STRING)fnMap=filterPrepare(fnMap);if(typeof fnMap!==FUNCTION)fnMap=function(o){return o};view.read(fnMap,fnCallback,0,1,true);return self.db};Views.prototype.$$one=function(name,fnMap){var self=this;return function(callback){self.one(name,fnMap,callback)}};Views.prototype.drop=function(name,fnCallback,changes){var self=this;var view=self.views[name];if(typeof fnCallback===STRING){changes=fnCallback;fnCallback=null}if(view===undefined){view=self.getView(name);self.views[name]=view}delete self.db.meta.views[name];self.db._metaSave();self.db.emit("view/drop",true,name);view.operation(function(cb){fs.exists(view.filename,function(exists){self.db.emit("view/drop",false,name);if(changes)self.db.changelog.insert(changes);if(!exists){if(fnCallback)fnCallback(null,true);if(cb)cb();return}fs.unlink(view.filename,function(err){if(err)self.db.emit("error",err,"view/drop");if(fnCallback)fnCallback(err,true);if(cb)cb()})})});return self.db};Views.prototype.$$drop=function(name,fnCallback,changes){var self=this;return function(callback){self.drop(name,callback,changes)}};Views.prototype.refresh=function(name,fnCallback){var self=this;var schema=self.db.meta.views[name];schema.isReady=false;var fnSort=schema["sort"]||"";var fnMap=schema["map"];if(fnSort.length===0)fnSort=null;else fnSort=eval("("+fnSort+")");fnMap=eval("("+fnMap+")");var selected=[];var count=0;self.db.emit("view/refresh",true,name,"");var onCallback=function(){if(fnSort)selected.sort(fnSort);var view=self.views[name];if(view===undefined){view=self.getView(name);self.views[name]=view}var filename=self.getFileName(name);view.operation(function(cb){var fnAppend=function(){appendFile(filename,selected,function(){self.db.emit("view/refresh",false,name,count);schema.isReady=true;if(fnCallback)setImmediate(function(){fnCallback(null,count)});if(cb)cb()},self.db)};fs.exists(filename,function(exists){if(!exists){fnAppend();return}fs.unlink(filename,function(err){if(!err){fnAppend();return}self.db.emit("error",err,"view/refresh");if(cb)cb()})})})};var onItem=function(doc){var item=fnMap(doc)||null;if(item===null)return;count++;selected.push(item)};self.db.each(onItem,onCallback)};Views.prototype.$$refresh=function(name){var self=this;return function(callback){self.refresh(name,callback)}};Views.prototype.create=function(name,fnMap,fnSort,fnCallback,changes){var self=this;if(typeof fnCallback===STRING){changes=fnCallback;fnCallback=null}if(typeof fnMap===STRING)fnMap=filterPrepare(fnMap);self.db.meta.views[name]={map:fnMap.toString(),sort:(fnSort||"").toString(),isReady:false};self.db._metaSave();self.db.emit("view/create",true,name,0);if(changes)self.db.changelog.insert(changes);self.refresh(name,fnCallback);return self};Views.prototype.$$create=function(name,fnMap,fnSort,changes){var self=this;return function(callback){self.create(name,fnMap,fnSort,callback,changes)}};Views.prototype.getView=function(name){var self=this;return new View(self.db,name,self.getFileName(name))};Views.prototype.getFileName=function(name){var self=this;return path.join(self.directory,self.db.name+"#"+name+EXTENSION_VIEW)};View.prototype.read=function(fnMap,fnCallback,itemSkip,itemTake,skipCount,isScalar){var self=this;var skip=itemSkip||0;var take=itemTake||0;skipCount=skipCount||false;if(self.status===STATUS_LOCKING||self.countRead>=MAX_READSTREAM){self.pendingRead.push(function(){self.read(fnMap,fnCallback,itemSkip,itemTake,isScalar)});return self}self.status=STATUS_READING;if(typeof fnMap===STRING)fnMap=filterPrepare(fnMap);if(fnMap===null)fnMap=function(o){return o};self.db.emit("view",true,self.name,0);self.countRead++;var selected=[];var current="";var count=0;var resume=true;var fnBuffer=function(buffer){current+=buffer;return current};var fnItem=function(err,doc){if(!resume)return;current="";if(err)return;var item=fnMap(doc);if(item===false||item===null||item===undefined)return;count++;if(skip>0&&count<=skip)return;if(!isScalar)selected.push(item===true?doc:item);if(take>0&&selected.length===take)resume=false};var reader=self.file.open(self.filename,MAX_BUFFER_SIZE,function(buffer){if(skipCount&&!resume){count=-1;return false}onBuffer(buffer,fnItem,fnBuffer);return resume},function(){self.countRead--;self.next();setImmediate(function(){self.emit("view",false,self.name,count);fnCallback(null,selected,count)})});return self};View.prototype.operation=function(fnCallback){var self=this;if(fnCallback!==undefined)self.pendingOperation.push(fnCallback);if(self.status!==STATUS_UNKNOWN)return self;self.status=STATUS_LOCKING;var operation=self.pendingOperation.shift();operation(function(){self.next()});return self};View.prototype.next=function(){var self=this;self.status=STATUS_UNKNOWN;if(self.countRead>0){self.status=STATUS_READING;return}if(self.pendingOperation.length>0){self.operation();return}if(self.pendingRead.length>0){var max=self.pendingRead.length;if(max>MAX_READSTREAM)max=MAX_READSTREAM;for(var i=0;i<max;i++)self.pendingRead.shift()();return}};Stored.prototype.create=function(name,fn,fnCallback,changes){if(typeof fnCallback===STRING){var tmp=changes;changes=fnCallback;fnCallback=changes}var self=this;self.db.meta.stored[name]=fn.toString();self.db._metaSave(fnCallback);delete self.cache[name];if(changes)self.db.changelog.insert(changes);self.db.emit("stored/create",name);return self.db};Stored.prototype.$$create=function(name,fn,changes){var self=this;return function(callback){self.create(name,fn,callback,changes)}};Stored.prototype.remove=function(name,fnCallback,changes){var self=this;if(typeof fnCallback===STRING){var tmp=changes;changes=fnCallback;fnCallback=changes}if(changes)self.db.changelog.insert(changes);delete self.cache[name];delete self.db.meta.stored[name];self.db._metaSave(fnCallback);return self.db};Stored.prototype.$$remove=function(name,changes){var self=this;return function(callback){self.remove(name,callback,changes)}};Stored.prototype.clear=function(fnCallback,changes){var self=this;if(typeof fnCallback===STRING){var tmp=changes;changes=fnCallback;fnCallback=changes}if(changes)self.db.changelog.insert(changes);self.cache={};self.db.meta.stored={};self.db._metaSave(fnCallback);return self.db};Stored.prototype.$$clear=function(changes){var self=this;return function(callback){self.clear(callback,changes)}};Stored.prototype.execute=function(name,params,fnCallback,changes){var self=this;var type=typeof params;if(type===FUNCTION){changes=fnCallback;fnCallback=params;params=null}if(typeof fnCallback===STRING){var tmp=changes;changes=fnCallback;fnCallback=tmp}if(changes)self.db.changelog.insert(changes);var fn=self.db.meta.stored[name];if(fn===undefined){if(fnCallback)fnCallback();return}var cache=self.cache[name];self.db.emit("stored",name);if(fn===undefined){if(fnCallback)fnCallback();return}if(cache===undefined){fn=eval("("+fn+")");self.cache[name]=fn}else fn=cache;if(fnCallback===undefined)fnCallback=function(){};fn.call(self.db,self.db,fnCallback,params||null);return self};Stored.prototype.$$execute=function(name,params,changes){var self=this;return function(callback){self.execute(name,params,callback,changes)}};Binary.prototype.insert=function(name,type,buffer,fnCallback,changes){if(typeof buffer===STRING)buffer=new Buffer(buffer,"base64");if(typeof fnCallback===STRING){changes=fnCallback;fnCallback=null}var self=this;var size=buffer.length;var dimension={width:0,height:0};self.check();if(name.indexOf(".gif")!==-1)dimension=dimensionGIF(buffer);else if(name.indexOf(".png")!==-1)dimension=dimensionPNG(buffer);else if(name.indexOf(".jpg")!==-1)dimension=dimensionJPG(buffer);var header=new Buffer(BINARY_HEADER_LENGTH);header.fill(" ");header.write(JSON.stringify({name:name,size:size,type:type,width:dimension.width,height:dimension.height}));var id=(new Date).getTime().toString()+Math.random().toString(36).substring(10);var key=self.db.name+"#"+id;var stream=fs.createWriteStream(path.join(self.directory,key+EXTENSION_BINARY));stream.write(header,"binary");stream.end(buffer);stream=null;if(changes)self.db.changelog.insert(changes);if(fnCallback)fnCallback(null,id,header);return id};Binary.prototype.$$insert=function(name,type,buffer,changes){var self=this;return function(callback){self.insert(name,type,buf,callback,changes)}};Binary.prototype.update=function(id,name,type,buffer,fnCallback,changes){if(typeof buffer===STRING)buffer=new Buffer(buffer,"base64");if(typeof fnCallback===STRING){changes=fnCallback;fnCallback=null}var self=this;var size=buffer.length;var dimension={width:0,height:0};var key=id;self.check();if(key.indexOf("#")===-1)key=self.db.name+"#"+key;if(name.indexOf(".gif")!==-1)dimension=dimensionGIF(buffer);else if(name.indexOf(".png")!==-1)dimension=dimensionPNG(buffer);else if(name.indexOf(".jpg")!==-1)dimension=dimensionJPG(buffer);var header=new Buffer(BINARY_HEADER_LENGTH);header.fill(" ");header.write(JSON.stringify({name:name,size:size,type:type,width:dimension.width,height:dimension.height}));var stream=fs.createWriteStream(path.join(self.directory,key+EXTENSION_BINARY));stream.write(header,"binary");stream.end(buffer);stream=null;if(changes)self.db.changelog.insert(changes);if(fnCallback)fnCallback(null,id,header);return id};Binary.prototype.$$update=function(id,name,type,buffer,changes){var self=this;return function(callback){self.update(id,name,type,update,callback,changes)}};Binary.prototype.read=function(id,callback){var self=this;self.check();if(id.indexOf("#")===-1)id=self.db.name+"#"+id;var filename=path.join(self.directory,id+EXTENSION_BINARY);var stream=fs.createReadStream(filename,{start:0,end:BINARY_HEADER_LENGTH-1,encoding:"binary"});stream.on("error",function(err){callback(err,null,null)});stream.on("data",function(buffer){var json=new Buffer(buffer,"binary").toString("utf8").replace(/^[\s]+|[\s]+$/g,"");stream=fs.createReadStream(filename,{start:BINARY_HEADER_LENGTH});callback(null,stream,JSON.parse(json))});return self.db};Binary.prototype.$$read=function(id){var self=this;return function(callback){self.read(id,callback)}};Binary.prototype.remove=function(id,fnCallback,changes){var self=this;var key=id;self.check();if(key.indexOf("#")===-1)key=self.db.name+"#"+key;var filename=path.join(self.directory,key+EXTENSION_BINARY);if(typeof fnCallback===STRING){changes=fnCallback;fnCallback=null}fs.exists(filename,function(exists){if(changes)self.db.changelog.insert(changes);if(!exists){if(fnCallback)fnCallback(null,false);return}fs.unlink(filename,function(err){if(fnCallback)fnCallback(err,true)})});return self.db};Binary.prototype.$$remove=function(id,changes){var self=this;return function(callback){self.remove(id,callback,changes)}};Binary.prototype.check=function(){var self=this;if(self.exists)return self;self.exists=true;if(fs.existsSync(self.directory))return self;fs.mkdirSync(self.directory);return self};Changelog.prototype.insert=function(description){var self=this;if(!self.db.changes)return self.db;if(description===undefined)return self.db;if(!(description instanceof Array))description=[description||""];if(description.length===0)return self.db;var lines="";var dd=new Date;var y=dd.getFullYear();var M=(dd.getMonth()+1).toString();var d=dd.getDate().toString();var h=dd.getHours().toString();var m=dd.getMinutes().toString();var s=dd.getSeconds().toString();if(M.length===1)M="0"+M;if(d.length===1)d="0"+d;if(m.length===1)m="0"+m;if(h.length===1)h="0"+h;if(s.length===1)s="0"+s;var dt=y+"-"+M+"-"+d+" "+h+":"+m+":"+s;description.forEach(function(line){lines+=dt+" | "+line+NEWLINE;self.db.emit("change",line)});fs.appendFile(self.filename,lines,function(err){});return self.db};Changelog.prototype.read=function(fnCallback){var self=this;fs.exists(self.filename,function(exist){if(!exist){fnCallback([]);return}fs.readFile(self.filename,function(err,data){if(err){fnCallback([]);return}var lines=data.toString("utf8").split("\n");if(lines[lines.length-1]==="")lines.pop();fnCallback(lines)})});return self.db};Changelog.prototype.$$read=function(){var self=this;return function(callback){self.read(callback)}};Changelog.prototype.clear=function(fnCallback){var self=this;fs.exists(self.filename,function(exist){if(!exist){if(fnCallback)fnCallback(false);return}fs.unlink(self.filename,function(err,data){if(err){if(fnCallback)fnCallback(err,false);return}if(fnCallback)fnCallback(null,true)})});return self.db};Changelog.prototype.$$clear=function(){var self=this;return function(callback){self.clear(callback)}};FileReader.prototype.open=function(filename,size,fnBuffer,fnCallback){var self=this;fs.open(filename,"r",function(err,fd){if(err){fnCallback(false);return}size=size||1024;var next=function next(cancel,position){if(cancel){fs.close(fd);fd=null;fnCallback(true);return}self.read(fd,position+size,size,fnBuffer,next)};self.read(fd,0,size,fnBuffer,next)})};FileReader.prototype.read=function(fd,position,size,fnBuffer,next){var buffer=new Buffer(size);fs.read(fd,buffer,0,size,position,function(err,num){var cancel=num!==size;var data=buffer.toString("utf8",0,num);if(cancel){data=data.replace(/\s+$/g,"");if(data[data.length-1]!==NEWLINE)data+=NEWLINE;fnBuffer(data);next(true);return}try{cancel=!fnBuffer(data)}catch(err){cancel=true}setImmediate(function(){next(cancel,position,size)})})};function appendFile(filename,arr,fnCallback,db){if(arr.length===0){fnCallback();return}var lines="";arr.slice(0,30).forEach(function(o){lines+=JSON.stringify(o)+NEWLINE});fs.appendFile(filename,lines,function(err){if(err)db.emit("error",err);appendFile(filename,arr.slice(30),fnCallback,db)})}function filterPrepare(fnFilter){if(fnFilter.length===0)return function(){return true};return eval("(function(doc){"+(fnFilter.indexOf("return ")===-1?"return ":"")+fnFilter+"})")}function onBuffer(buffer,fnItem,fnBuffer){var index=buffer.indexOf(NEWLINE);if(index===-1){fnBuffer(buffer);return}var json=fnBuffer(buffer.substring(0,index));try{fnItem(null,JSON.parse(json),json)}catch(ex){fnItem(ex,null,json)}onBuffer(buffer.substring(index+1),fnItem,fnBuffer)}function updatePrepare(fnUpdate,fnCallback,changes,type){if(typeof fnUpdate===STRING)fnUpdate=filterPrepare(fnUpdate);return{filter:fnUpdate,callback:fnCallback,count:0,type:type,changes:changes}}var sof={192:true,193:true,194:true,195:true,197:true,198:true,199:true,201:true,202:true,203:true,205:true,206:true,207:true};
r.moveFile = function(originalFilePath, newFilePath, callback) { fs.rename(originalFilePath, newFilePath, function(err) { callback(err); }); };
function(callback) { // current.txtをprevious.txtにリネームする fs.rename('current.txt', 'previous.txt', callback); },
fs.rename(files.upload.path, "C:\\Users\\sergey\\AppData\\Local\\Temp\\test.png", function(err) { if(err){ fs.unlink("C:\\Users\\sergey\\AppData\\Local\\Temp\\test.png"); fs.rename(files.upload.path, "C:\\Users\\sergey\\AppData\\Local\\Temp\\test.png"); } });
form.on('file', function (field, file) { //rename files and save file url if (!file) res.send({code: 500, status: 'error', msg: '上传图片失败'}); file.name = fileName; fs.rename(file.path, `${config.baseDir}/dist/images/${file.name}`); });
var fs = require('fs'); fs.rename('./test.txt', './demo.txt', function(err) { if (err) throw err; console.log('changed.'); });
uploadToFS = function(sourcePath, callback) { var destFile = options.LOCAL_STORAGE_PATH + fileName; fs.rename(sourcePath, destFile, function(err) { callback({url: longURL}); }); };
}, function(error, response, body) { if (!error && response.statusCode == 200) { var parse = JSON.parse(body); var id_city = parse.data[0].id; var count = 0; var id_photos = []; for (var index in req.files) { fs.rename(req.files[index].path, req.files[index].path + ".jpg"); var sub_path = (req.files[index].path).substring(6, req.files[index].length); request.post({ url: 'https://graph.facebook.com/v2.6/me/photos', qs: { access_token: access_token, appsecret_proof: app_secret, url: MY_URL + sub_path + ".jpg", published: false, place: id_city } }, function(error, response, body) { if (!error && response.statusCode == 200) { count++; var parse = JSON.parse(body); console.log(parse.id); id_photos.push({ "media_fbid": parse.id }); if (count == req.files.length) { request.post({ url: 'https://graph.facebook.com/v2.6/me/feed', qs: { attached_media: id_photos, place:id_city, access_token: access_token, appsecret_proof: app_secret, } }, function(error, response, body) { if (!error && response.statusCode == 200) { res.send("ok").end(); } else { res.send(body).end(); } }); } console.log("Ok"); } else { console.log(body); } }); } } else { res.send(body).end(); } });
form.on('file', function (field, file) { fs.rename(file.path, form.uploadDir + "/" + file.name) });
function rename(){ fs.rename(oldPath, newPath, function(err){ if(err) cb(new Error((file.constructor._name||'FileSystemDataSource')+'.prototype.rename: EXECFAIL').details({ code:'EXECFAIL', cause:err })); else fsExt.getFileInfo(newId, newPath, function(err, fileInfo){ if(err) cb(new Error((file.constructor._name||'FileSystemDataSource')+'.prototype.rename: CONNFAIL').details({ code:'CONNFAIL', cause:err })); else cb(null, file.constructor.new(fileInfo)); }); }); }