Fork me on GitHub 盒子
盒子
文章目录
  1. 背景
  2. 步骤
    1. 将文件转为Buffer
    2. Buffer解码成文件生成到指定路径
    3. jm-copy-base64

Nodejs复制粘贴文件

背景

在服务器环境上,基本没有可视化界面,都是通过命令行操作,所以,想要自动复制文件,还需要自己编写。

步骤

将文件转为Buffer

1
2
3
4
5
6
7
var fs = require('fs');
function encode (filePath){
// read binary data
var bitmap = fs.readFileSync(filePath);
// convert binary data to base64 encoded string
return new Buffer(bitmap).toString('base64');
}

返回的是一个base64格式的Buffer,便于后续生成文件

Buffer解码成文件生成到指定路径

1
2
3
4
5
6
7
8
9
var fs = require('fs');
function decode (filePath, saveFilePath) {
var base64str = this.encode(filePath);
// create buffer object from base64 encoded string, it is important to tell the constructor that the string is base64 encoded
var bitmap = new Buffer(base64str, 'base64');
// write buffer to file
fs.writeFileSync(saveFilePath, bitmap);
console.log('******** File created from base64 encoded string ********');
}

这里的操作都是同步的,完全可以执行完后检测新文件是否存在

jm-copy-base64

根据上述的原理,自己编写一个node环境的npm包,专门用于自动复制文件。

Github地址及使用文档:jm-copy-base64


如果能给您带去些许帮助,鄙人不甚欢心。如有错误,恳请交流指出,谢谢!
转载请注明出处:http://mcchen.club/


支持一下
扫一扫,支持McChen