NodeJS 上传图片实例

1)利用multer模块以及fs模块保存上传的图片

//index.html
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<from action="http://localhost:5000/upData" method="post" enctype="multipart/form-data">
 <input type="flie" name="isUpdata" multiple>
  <p></p>
  <button>图片提交</button>
</form>
</body>
</html>
//main.js
var express = require('express'),fs = require('fs'),multer = require('multer');
let app = express();
app.use(multer({dest;'/tamp/'}).array('isUpdata'))  //注意这里的array的参数就是前台控件的name
app.get('/',(req,res)=>{
  res.sendFile(__dirname+'/index.html');
})
app.post('/upData',(req,res)=>{
  console.log(req.files) 用户上传的图片信息
  var result = req.files;
  result.forEach((value)=>{
    var newName = value.originalname  //这个是图片上传的名字建议加上随机保证图片不会替换
    var readStream = fs.createReadStream(value.path);//创建可读流
    var writeStrea, = fs.createWriteStream(newName );
    readStream.pipe(writeStrea);
    console.log(newName +'图片上传成功');
    readStream.on('error',()=>{console.log('上传失败')})
  })
  res.end();//返回信息自己定义
})
image.png
  • path---文件的临时路径
  • mimetype---文件类型
  • originalname---文件名称
  • size---文件大小
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容