express如何上传文件

本文介绍了一个简单的HTML文件上传实现过程,包括前端表单设计及后端处理流程。讲解了如何配置表单以确保正确发送文件,并展示了使用Node.js与multer中间件进行文件接收和保存的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先html页面写表单那一套

<form action="/users/upload" method="post" enctype="multipart/form-data">
    <input type="file" name='pic'>
    <input type="submit" value="上传">
</form>

这里有几点要注意:
1.action里的路径,是/users/upload,第一个/代表他的默认路径,之后是users文件,然后是文件中的自己写的路径upload,下边会看到
2.方法一定是post
3.后边这个enctype一定要加,一定要选择
multipart/form-data

4.上传的

 <input type="file" name="pic">   

一定要加name,因为req.files中他有一个filedname属性,这个属性的value就是你写的name的value,所以必须写name才能看到具体内容

这里再提一句,req.files中有什么东西
当我们上传文件之后,我们的req.files中会出现该文件的各种信息,看图
在这里插入图片描述
包括他的路径,名字,fieldname等等属性

之后我们写users.js

var express = require('express');
var router = express.Router();
var fs= require('fs')
var multer = require('multer')
var upload=multer({dest:"uploadimg/"})
// 设置上传路径,dest:目的地 包括后面的uploadimg文件夹可以自己定义
//默认路径是整个项目文件夹,上传文件会上传至该目录,
// 如果该目录未创建,会自动创建该目录


// 上传文件
router.post('/uploadimg',upload.any(),function(req,res,next){
  //  这有个upload.any()这个代表接收所有上传的文件,一定要有,不能省略
  var des_dress='./uploadimg/'+req.files[0].originalname
   /* 要将上传的文件保存在哪,上传路径+文件名称 */
  // 之后用fs方法先读取文件,再写入文件
  fs.readFile(req.files[0].path,function(err,data){
    fs.writeFile(des_dress,data,function(err){
      if(err){
        throw err
      }else{
        res.send('成功')
      }

    })
  })
})
module.exports = router;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值