用connect-multiparty模块实现上传图片功能demo
发布于 9 年前 作者 h088588 4563 次浏览 最后一次编辑是 8 年前 来自 问答

router.post(’/drugImg’, multipartMiddleware, function (req, res) { var tempPath = req.files.filePic.path; if(req.files.filePic!=‘undefined’){ //如果有需要上传的文件 var tempPath=req.files.filePic.path; //获取上传之后的文件路径 //tempPath 原路径 ,userImageDir 新路径 fs.rename(tempPath,userImageDir,function(err){ //将文件移动到你所需要的位置 if(err){ console.log("****************"); console.log(err); res.json({flag:0,msg:“服务器错误”}); return; } else { fs.unlink(tempPath,function(err){ if(err){ res.json({flag:2,msg:“服务器错误”}); } else { res.json({flag:1,msg:“上传成功”}); } }); } }); } }) 返回的结果是{“flag”: 0, “msg”: “服务器错误”},但是图片上传成功了。 然后控制台结果报错了,报错结果如下所示,我查了很久不知道这个"EPERM"错误怎么解决,求指教,小弟在此不胜言谢! [2015-09-18 20:20:56.041] [INFO] console - 监听端口为:5000成功… [2015-09-18 20:21:05.411] [INFO] console - **************** [2015-09-18 20:21:05.414] [INFO] console - { [Error: EPERM, rename ‘e:\LX_small\node_prcetice\uploadImg_1\public\images\drugImg’] errno: 50, code: ‘EPERM’, path: ‘e:\LX_small\node_prcetice\uploadImg_1\public\images\drugImg’ } Error: EPERM, rename 'e:\LX_small\node_prcetice\uploadImg_1\public\images\drugImg’ POST /admin/drugImg 200 891.376 ms - 34

2 回复

rename 如果我没记错的话 是 路径/文件名.后缀 做移动 就是copy一样

@dingyong666 非常感谢,确实是这个后缀的问题!

回到顶部