Node.js实现文件上传、重命名与移动位置示例

作者:岩茶

时间:2026-10-22

浏览:228

本文通过Node.js后端与前端Ajax结合的方式,演示了文件上传的完整流程。前端使用FormData构造请求,后端利用Formidable插件解析上传数据,并通过fs.rename实现文件重命名及路径移动,最终返回操作结果。

文章目录

Node.js文件上传实现流程

以下展示一个Node.js环境下的文件上传示例,首先介绍前端部分的实现代码。


 doUpload() {
  var formData = new FormData($("#uploadForm")[0]);
  $.ajax({
   url: 'http://localhost:3011/upload',
   type: 'POST',
   data: formData,
   async: false,
   cache: false,
   contentType: false,
   processData: false,
   success: function (returndata) {
    alert(returndata);
   },
   error: function (returndata) {
    // alert(returndata);
   }
  });
 }
<form id="uploadForm">
     <p>上传文件:
      <input id="UpImage" type="file" name="file"/>
      <input id="text" type="text" name="text" value="232323"/>
     </p>
     <input type="button" value="上传" onClick={this.doUpload.bind(this)}/>
     <input type="button" onClick={()=>{this.submit()}} value="确定"/>
 </form>

服务端处理逻辑依赖于formidable插件,使用前需确保已安装该依赖。


exports.upload = function (req,res,next) {
//keepExtensions为true时,显示文件扩展名
 var form = new formidable.IncomingForm({keepExtensions:true});
//指定文件目录
 form.uploadDir = path.join(__dirname);
 form.parse(req,function (err,fields,files) {
  //fields存放的为json数据
  //files存放的是文件信息
  //更改文件目录,并且显示上传之前的名字
  fs.rename(files.file.path,__dirname+'/'+files.file.name,function (a,b) {
  });
  res.json({success:'修改成功'})
 });
};

以上内容即为本文的全部分享,旨在为读者的学习提供辅助,同时也期待大家能继续支持本站。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章