From 4903aaf9016e0302c7d4143fce003a519ee32edf Mon Sep 17 00:00:00 2001 From: life Date: Thu, 14 Apr 2016 17:25:38 +0800 Subject: [PATCH] copy file://User/a.png to leanote --- node_modules/file.js | 41 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/node_modules/file.js b/node_modules/file.js index 18bd8ea8..e399bcda 100644 --- a/node_modules/file.js +++ b/node_modules/file.js @@ -673,7 +673,46 @@ var File = { callback(); } - } else { + // 形如 file:///Users/life/Desktop/test/1.jpeg 本地文件 + // file:///C:/Users/CLi/App + // file://C:/Users/CLi/App + } else if(src.indexOf('file:') === 0) { + debugger; + src = src.substr('file://'.length); // /user 或 /C: + if (!src) { + callback(); + return; + } + + // windows下的 把最前一个'/'去掉 + if (src.indexOf(':') >= 0 && src[0] == '/') { + src = src.substr(1); + } + + // 图片类型 + var type = 'png'; + var strArr = src.split('.'); + if (strArr.length > 1) { + type = strArr.pop(); + } + + // 新图片地址 + var filename = Common.uuid() + '.' + type; + var imagePath = User.getCurUserImagesPath(); + var imagePathAll = imagePath + '/' + filename; + + // 复制图片 + var readStream = fs.createReadStream(src); + var writeStream = fs.createWriteStream(imagePathAll); + readStream.pipe(writeStream); + readStream.on('end', function () { + callback(imagePathAll); + }); + readStream.on('error', function () { + callback(); + }); + } + else { // 远程的图片 needle.get(src, function(err, resp) { // console.log(resp);