当前位置:Gxlcms > JavaScript > Node.js调用fs.renameSync报错(Error:EXDEV,cross-devicelinknotpermitted)处理方法

Node.js调用fs.renameSync报错(Error:EXDEV,cross-devicelinknotpermitted)处理方法

时间:2021-07-01 10:21:17 帮助过:21人阅读

本文主要介绍了Node.js调用fs.renameSync报错(Error: EXDEV, cross-device link not permitted),非常具有实用价值,需要的朋友可以参考下,希望能帮助到大家。

在写一个文件上传的功能时候,调用fs.renameSync方法错误

出错 代码所在如下:


大致分析后,预计是因为 跨磁盘分区移动 或操作文件会有权限问题。

下面提供两种解决办法:

方法一:

主要利用fs的createReadStream、createWriteSream和unlinkSync方法

具体代码如下:


PS:我用的node版本是0.10.69,如果使用的是0.6以下的版本,可以使用util.pump

相应代码只需将上面的代码中readStream.on处改成:(注意引入util模块)


方法二:

这种就简洁很多了

添加一个 form.uploadDir='tmp' 即可(写一个临时路径)


相关推荐:

node.js中的fs.renameSync方法使用说明_node.js

详解node.js基于express使用websocket

Node.js 中 async 函数的使用方法

以上就是Node.js调用fs.renameSync报错(Error: EXDEV, cross-device link not permitted)处理方法的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行