12月28, 2017

node-fs模块

node.js 的fs模块 文件操作

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)

读文件

本文链接:http://www.hijs.cc/post/node_fs.html

-- EOF --

Comments