在学习node.js的时候,学习上传图片并显示到网页上,上传过程中出现下面错误:{ [Error: ENOENT, no such file or directory 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\upload_5f4be95217f941dd8059acf89eff05d1'] errno: -4058, code: 'ENOENT', path: 'C:\\DOCUME~1\\ADMINI~1\\LOCALS~1\\Temp\\upload_5f4be95217f941dd8059acf89eff05d1', syscall: 'rename' }网上查询资料,说是fs的rename 不允许跨 分区移动文件。
工具/原料
1
node.js
2
formidable
方法/步骤
1
安装node.js ,安装成功后,安装formidable(npm install formidable)。我的nodejs安装目录(默认)是:C:\Program Files\nodejs
2
工作目录放在D盘中,目录是D:\node-test,在D:\node-test下安装的formidable.
4
上传后控制台报错{ [Error: ENOENT, no such file or directory 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\upload_5f4be95217f941dd8059acf89eff05d1'] errno: -4058, code: 'ENOENT', path: 'C:\\DOCUME~1\\ADMINI~1\\LOCALS~1\\Temp\\upload_5f4be95217f941dd8059acf89eff05d1', syscall: 'rename' }
5
我的nodejs安装目录是c盘下,现在工作目录在d盘下,应该是这个的问题。修改为fs.renameSync(files.upload.path, 'c:/tmp/test.png'); 后上传成功。