var fs=require(“fs”); var multipart = require(‘connect-multiparty’); var multipartMiddleware = multipart(); router.post("/",multipartMiddleware,function(req,res,next){ //var target_path = __dirname + ‘/upload/jj.jpg’ ; // F:\lianix\myapp_express\myapp\routes/upload/jj.jpg var target_path = __dirname + ‘\upload\jj.jpg’ ;//F:\lianix\myapp_express\myapp\routes\upload\jj.jpg console.log(" req.files.file.path=",req.files.file.path);//有值 C:\Users\INFACE~1\AppData\Local\Temp\FJ1VimvUuj5XhUQaFTR8F3rm console.log(“target_path===”,target_path); fs.renameSync(req.files.file.path, target_path, function (err) { if (err) { console.log(“出错了===”,err); } console.log(" 成功"); }); res.send({“result”:“1”,msg:“成功”}); }) req.files.file.path 和 target_path 都有值。然后执行 fs.renameSync 方法 的时候报错。具体看如下图
前排水果瓜子
首先,renameSync 第三个参数是什么?
大兄弟,你把 sync 去掉就行了,你都用回调了还 sync 干嘛,还有学习一下 markdown 吧哈哈
@polunzh 嗯哼 renameSync 跟 rename 搞混了。
@leavesdrift 之前 用renameSync 不行 然后改用 rename 也不行。接着不断在这两个之间变来变去,然后就混了。rename 带回调函数 出错,renameSync 不带回调也出错。 最后 看了这个 https://cnodejs.org/topic/4fec267c8a7cb2d22b5a922a 发现 不是同一目录 rename 跟 renameSync 不可用。改了下保存路径就对了
后排啃瓜子