mirror of
https://github.com/leanote/desktop-app.git
synced 2025-10-16 16:04:56 +00:00
基本雏型, 本地
This commit is contained in:
69
node_modules/common.js
generated
vendored
Normal file
69
node_modules/common.js
generated
vendored
Normal file
@@ -0,0 +1,69 @@
|
||||
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;
|
Reference in New Issue
Block a user