nodejs保存文件的问题

从前端到那里jar包失败:

保存到本地管理机jar包md5sum上传正确的值md5sum值不相等。并上传 处理 没有错误,说明保存过程中的错误:

前面是base64然后转码后jar包内容放进request.body[reqType]里面:

先是错误代码:

先用base64解码:

var jar_content = new Buffer(request.body[reqType].jar_content, 'base64').toString();

然后使用writeFile的异步方法写入文件里:

fs.writeFile(pathname+jar_name, jar_content); //保存jar包到本地管理机

=====================================================

发现问题所在:

nodejs异步写入文件里导致文件还没有写完就返回了,应该要改成同步的writeFileSync,先把文件写完再返回。并且使用base64解码的toString()也要去掉:

var jar_content = new Buffer(request.body[reqType].jar_content, 'base64');
try {
    fs.writeFileSync(pathname+jar_name, jar_content); //保存jar包到本地管理机
} 
catch(err){
    console.log("this is error");
    return;
}