<pre name="code" class="javascript">刚刚开始学nodejs,做跨区操作文件时,出现错误:
return binding.rename(pathModule._makeLong(oldPath),
^
Error: EXDEV, cross-device link not permitted 'C:\Users\LIUJIA~1\AppData\Local\Temp\upload_58c5fbc8c804174256ce2826d766bb0a'
解决办法:
util = require('util');
...
// fs.renameSync(files.upload.path, "/tmp/test.png");
var readStream = fs.createReadStream(files.upload.path);
var writeSream = fs.createWriteStream("/tmp/test.png");
util.pump(readStream,writeSream,function(){
fs.unlinkSync(files.upload.path);
});
把fs.renameSync();,替换成下面的就可以了。
参考资料:
stackoverflow : http://stackoverflow.com/questions/4568689/how-do-i-move-file-a-to-a-different-partition-or-device-in-node-js