node.js 的fs模块 文件操作
fs.writeFileSync(file, data[, options])
写入文件
/**
- filename, 必选参数,文件名
- data, 写入的数据,可以字符或一个Buffer对象
- [options],flag,mode(权限),encoding
- callback 读取文件后的回调函数,参数默认第一个err,第二个data 数据 */
fs.writeFileSync(__dirname + '../../../www/static/audio/'+'ai.mpVoice.mp3', data);
fs.createReadStream
/**
- path 文件路径
- [options] flags:指定文件操作,默认'r',读操作;encoding,指定读取流编码;autoClose, 是否读取完成后自动关闭,默认true;start指定文件开始读取位置;end指定文件开始读结束位置 */
fs.createWriteStream
/**
- path 文件路径
- [options] flags:指定文件操作,默认'w',;encoding,指定读取流编码;start指定写入文件的位置 */
/* ws.write(chunk, [encoding], [callback]);
- chunk, 可以为Buffer对象或一个字符串,要写入的数据
- [encoding], 编码
- [callback], 写入后回调 */
/* ws.end([chunk], [encoding], [callback]);
- [chunk], 要写入的数据
- [encoding], 编码
- [callback], 写入后回调 */
文件上传到本地
let file = this.ctx.file('image'); // 获取file信息
let reader = fs.createReadStream(file.path); // 要被拷贝的源文件
let stream = fs.createWriteStream(path.join(think.ROOT_PATH, 'www/static/upload', file.name)); // 写入数据位置,名字
reader.pipe(stream); // 文件被添加到 uploadImg文件夹
file.path = __dirname + '../../www/static/upload' + file.name;
fs.readFileSync(path[, options])
file: URLS 必须是绝对路径。
读取文件并转成base64格式
let image = fs.readFileSync(file.path).toString("base64");
readFile(filename,[options],callback)
读文件
Comments