在做文件上传.
Koa下可以直接拿到文件对象, 然后保存到本地,代码如下:
const file = ctx.request.body.files.file;
const reader = fs.createReadStream(file.path);
const stream = fs.createWriteStream(path.join(os.tmpdir(), Math.random().toString()));
reader.pipe(stream);
console.log('uploading %s -> %s', file.name, stream.path);
想着在中间加上层MD5校验,计算完md5之后, 再以md5的字符串为文件名存储起来。
请教各位, 怎么加上去?
目前是在写流finish之后, 给通过md5重命名...这个总感觉哪里不对, 命名内存
node官网参考:
const crypto = require('crypto');
const fs = require('fs');
const hash = crypto.createHash('sha256');
const input = fs.createReadStream('test.js');
input.pipe(hash).pipe(process.stdout);