var fs = require('fs'); var User = require('user'); var Image = require('image'); var Evt = require('evt'); // var gui = require('nw.gui'); // console.log(gui.App); function log(o) {console.log(o)} var Common = { _uuid: 1, uuid: function() { this._uuid++; return ((new Date()).getTime()) + '_' + this._uuid; }, // FileReaderWeb 是 web上的FileReader, 可能与nodejs这个有冲突 pasteImage: function(event, FileReaderWeb, callback) { var me = this; var items = (event.clipboardData || event.originalEvent.clipboardData).items; // 可能有多个file, 找到属于图片的file // find pasted image among pasted items var blob; for (var i = 0; i < items.length; i++) { if (items[i].type.indexOf("image") === 0) { blob = items[i].getAsFile(); } } // console.log("paste images"); // console.log(blob); // load image if there is a pasted image if (blob) { // console.log("??"); var reader = new FileReaderWeb(); // console.log(">>") // console.log(reader); // console.log(">>") reader.onloadend = function() { console.log(reader); // 这个事件在读取结束后,无论成功或者失败都会触发 if (reader.error) { console.log(reader.error); } else { } } reader.onload = function(e) { // 上传之 // log('result'); // log(reader.result); var ret = reader.result ret = ret.replace(/^data:image\/\w+;base64,/, "") // log(User.getCurUserImagesPath()); var filename = me.uuid() + '.png'; fs.writeFile(User.getCurUserImagesPath() + '/' + filename, new Buffer(ret, 'base64'), function(err) { if(err) { log(err); return; } // 保存 var relativePath = User.getCurUserImagesAppPath() + '/' + filename; Image.addImage(relativePath); callback && callback('app://leanote/' + relativePath); }); }; reader.readAsDataURL(blob); } }, }; module.exports = Common;