返回顶部
首页 > 资讯 > 前端开发 > node.js >Node.js调用fs.renameSync报错怎么办
  • 393
分享到

Node.js调用fs.renameSync报错怎么办

2024-04-02 19:04:59 393人浏览 泡泡鱼
摘要

这篇文章主要介绍了node.js调用fs.renameSync报错怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在写一个文件上传的功能

这篇文章主要介绍了node.js调用fs.renameSync报错怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

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

出错 代码所在如下:

 function upload(response,request){
 console.log("upload called");
 var fORM = new formidable.IncomingForm();
 console.log("about to parse");
 form.parse(request, function(error, fields, files) {
  console.log("parsing done");
  fs.renameSync(files.upload.path, "./tmp/test.jpg");
  response.writeHead(200, {"Content-Type": "text/html"});
  response.write("received image:<br/>");
  response.write("<img src='/show' />");
  response.end();
 });
 }

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

下面提供两种解决办法:

方法一:

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

具体代码如下:

 function upload(response,request){
 console.log("upload called");
 var form = new formidable.IncomingForm();
 console.log("about to parse");
 form.parse(request, function(error, fields, files) {
  console.log("parsing done");

 // fs.renameSync(files.upload.path, "./tmp/test.jpg");
  var readStream=fs.createReadStream(files.upload.path);
  var writeStream=fs.createWriteStream("./tmp/test.jpg");
  readStream.pipe(writeStream);
  readStream.on('end',function(){
  fs.unlinkSync(files.upload.path);
  });

  response.writeHead(200, {"Content-Type": "text/html"});
  response.write("received image:<br/>");
  response.write("<img src='/show' />");
  response.end();
 });
 }

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

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

util.pump(readStream,writeStream, function() {
 fs.unlinkSync('files.upload.path');
});

方法二:

这种就简洁很多了

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

 function upload(response,request){
 console.log("upload called");
 var form = new formidable.IncomingForm();
 form.uploadDir='tmp';
 console.log("about to parse");
 form.parse(request, function(error, fields, files) {
  console.log("parsing done");
  fs.renameSync(files.upload.path, "./tmp/test.jpg");
  response.writeHead(, {"Content-Type": "text/html"});
  response.write("received image:<br/>");
  response.write("<img src='/show' />");
  response.end();
 });
 }

感谢你能够认真阅读完这篇文章,希望小编分享的“Node.js调用fs.renameSync报错怎么办”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网node.js频道,更多相关知识等着你来学习!

--结束END--

本文标题: Node.js调用fs.renameSync报错怎么办

本文链接: https://lsjlt.com/news/66650.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Node.js调用fs.renameSync报错怎么办
    这篇文章主要介绍了Node.js调用fs.renameSync报错怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在写一个文件上传的功能...
    99+
    2024-04-02
  • Node.js调用fs.renameSync报错怎么解决
    这篇“Node.js调用fs.renameSync报错怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Node.js调...
    99+
    2023-07-04
  • Node.js调用fs.renameSync报错如何解决
    这篇文章主要讲解了“Node.js调用fs.renameSync报错如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Node.js调用fs.renameSync报错如何解决”吧!在写一...
    99+
    2023-06-17
  • Angular调试中报错404怎么办
    小编给大家分享一下Angular调试中报错404怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!模拟一个调试场景《全栈开发之...
    99+
    2024-04-02
  • python 3调用paramiko模块报错AttributeError: module该怎么办
    python 3调用paramiko模块报错AttributeError: module该怎么办,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。python 3调...
    99+
    2023-06-04
  • canvas.toDataURL()报错怎么办
    小编给大家分享一下canvas.toDataURL()报错怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!报错详尽信息Uncaught DOMExceptio...
    99+
    2023-06-09
  • react.component 报错怎么办
    本教程操作环境:Windows10系统、react18版、Dell G3电脑。react.component 报错怎么办?react component 语法报错解决React es6语法 class Counter extends Com...
    99+
    2023-05-14
    component React
  • Springboot FeignClient调用报错怎么解决
    这篇文章主要讲解了“Springboot FeignClient调用报错怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Springboot FeignClient...
    99+
    2023-06-22
  • Python调用phantomsj报错怎么解决
    在调用PhantomJS时可能会遇到各种错误,以下是一些常见的解决方法:1. 检查PhantomJS是否正确安装:确认已经正确安装了...
    99+
    2023-09-21
    phantomjs Python
  • php use报错怎么办
    本文操作环境:Windows7系统、PHP7.1版、Dell G3电脑。php use报错怎么办hp use引入文件后报错记录一下:问题:原生php use引入文件后报错,提示没找到这个文件。原因:原生php没有文件自动引入机制,所以,使用...
    99+
    2015-06-08
    php use
  • navicat报错10038怎么办
    这篇文章给大家分享的是有关navicat报错10038怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。  对Navicat的新建数据库进行配置后,在点连接测试的时候总是提示1...
    99+
    2024-04-02
  • TNS-12555报错怎么办
    小编给大家分享一下TNS-12555报错怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在使用脚本启动数据库时,发现监听器无...
    99+
    2024-04-02
  • Oracle Dataguard报错怎么办
    这篇文章主要为大家展示了“Oracle Dataguard报错怎么办”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Oracle Dataguard报错怎么办”这...
    99+
    2024-04-02
  • php function 报错怎么办
    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。php function 报错怎么办?php报错" Function name must be a string in xxxx"解决问题描述:在...
    99+
    2024-04-02
  • pandas merge报错怎么办
    小编给大家分享一下pandas merge报错怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!pandas 做merge的时候报这个错:df22 = pd.m...
    99+
    2023-06-14
  • springmvc报错404怎么办
    小编给大家分享一下springmvc报错404怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!编程环境:win10x64+eclipse+Tomca...
    99+
    2023-06-14
  • Django migrate报错怎么办
    这篇文章主要介绍Django migrate报错怎么办,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!前言在讲解如何解决migrate报错原因前,我们先要了解migrate做了什么事情,migrate:将新生成的迁移脚...
    99+
    2023-06-15
  • react key 报错怎么办
    本教程操作环境:Windows10系统、react18.0.0版、Dell G3电脑。react key 报错怎么办?react key值报错分析使用react的时候很容易出现key报错的问题,一般的解决方式就是,再报错的页面搜索 map ...
    99+
    2023-05-14
    React
  • react navigation报错怎么办
    本教程操作环境:Windows10系统、react18.0.0版、Dell G3电脑。react navigation报错怎么办?react-navigation报错requireNativeComponent: “RNSScreenSta...
    99+
    2023-05-14
    react-native
  • node  import报错怎么办
    本教程操作环境:Windows10系统、node18.4.0版、Dell G3电脑。node import报错怎么办?运行nodejs项目,npm start启动项目import报错,SyntaxError: Cannot use imp...
    99+
    2023-05-14
    import Node.js
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作