nodeJs学习-08 multer中间件,解析post文件,上传文件

const express=require(‘express‘);
const bodyParser=require(‘body-parser‘);
const multer=require(‘multer‘);
const fs=require(‘fs‘);
const pathLib=require(‘path‘);

var objMulter=multer({dest: ‘./www/upload/‘});   //multer        解析post文件    multipart/form-data

var server=express();

//错误
//server.use(bodyParser.urlencoded({extended: false}));
server.use(objMulter.any());

server.post(‘/‘, function (req, res){
  //新文件名
  //‘./www/upload/dfb33662df86c75cf4ea8197f9d419f9‘ + ‘.png‘
  var newName=req.files[0].path+pathLib.parse(req.files[0].originalname).ext;

  fs.rename(req.files[0].path, newName, function (err){
    if(err)
      res.send(‘上传失败‘);
    else
      res.send(‘成功‘);
  });

  //1.获取原始文件扩展名
  //2.重命名临时文件
});

server.listen(8080);

原文地址:https://www.cnblogs.com/LChenglong/p/11778387.html

时间: 2024-08-29 19:09:13

nodeJs学习-08 multer中间件,解析post文件,上传文件的相关文章

CI支持各种文件上传-文件类型(Linux + window)

$mimes = array( 'hqx' => 'application/mac-binhex40', 'cpt' => 'application/mac-compactpro', 'csv' => array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv'

SWFUpload多文件上传 文件个数限制 setStats()

使用swfupload仿赶集的图片上传 SWFUpload是一个基于flash与javascript的客户端文件上传组件. handlers.js文件 完成文件入列队(fileQueued) → 完成选择文件(fileDialogComplete) → 开始上传文件(uploadStart) → 上传处理(uploadProgress) → 上传成功(uploadSuccess) → 上传完成(uploadComplete)  → 列队完成(queueComplete) 如上所示,单选文件顺序执

Web 在线文件管理器学习笔记与总结(19)上传文件

dir.func.php 中添加方法: /* 上传文件 */ function uploadFile($fileInfo,$path,$allowExt = array('jpg','jpeg','png','gif','txt'),$maxSize = 10487560){ //判断错误号 if($fileInfo['error'] == 0){ //文件是否是http上传上来的 if(is_uploaded_file($fileInfo['tmp_name'])){ $uniqid = md

实现文件上传文件的地址的获取手段之一IO流读取

这是为了我方便之后来查询的代码: 该文件上传是使用form表单提交到后台再使用io流读取,获得文件路径:待修改和完善 package cn.edu.web.servlet; import cn.edu.pojo.Course; import cn.edu.service.CourseListService; import cn.edu.service.CourseListServiceImpl; import com.google.gson.Gson; import org.apache.com

IE8 文件上传文件为空的问题

今天在使用之前做的应用系统时发现原来能使用的文件上传今天突然不能使用了,换了浏览器试了下原来是IE8的问题,firefox.chrome倒是没有这种问题,网上查了下原来又是IE8的问题,真是崩溃了... IE8基于安全的考虑,文件上传只允许鼠标的点击触发文件浏览及上传.如果是通过js触发的文件浏览就会导致上传失败(默认的input[type=file]的样式太差,与现有系统不一致,所以大多系统开发时会使用自定义的浏览按钮通过js调用原input[type=file]的onclick或者oncha

django中处理文件上传文件

1 template模版文件uploadfile.html 特别注意的是,只有当request方法是POST,且发送request的<form>有属性enctype="multipart/form-data"时,request.FILES中包含文件数据,否则request.FILES为空. <form method="post" action="" enctype="multipart/form-data"

通达OA 任意文件上传+文件包含导致RCE漏洞复现

0X00漏洞简介 通达OA(Office Anywhere网络智能办公系统)是由北京通达信科科技有限公司自主研发的协同办公自动化系统,包括流程审批.行政办公.日常事务.数据统计分析.即时通讯.移动办公等. 该漏洞被黑产利用,用于投放勒索病毒 该漏洞在绕过身份验证的情况下通过文件上传漏洞上传恶意php文件,组合文件包含漏洞最终造成远程代码执行漏洞,从而导致可以控制服务器system权限. 0X01漏洞影响 V11版.2017版.2016版.2015版.2013增强版.2013版 0X02漏洞原理

struts文件上传——文件过大时错误提示的配置问题说明

开始只在struts.xml文件中加入以下配置 <constant name="struts.multipart.maxSize" value="10000" /> 在index.jsp文件中加入的 <s:fielderror/>没有显示 只会在控制台打印错误信息: 警告: Request exceeded size limit!org.apache.commons.fileupload.FileUploadBase$SizeLimitExc

vue axios 与 FormData 结合 提交文件 上传文件

---再利用Vue.axios.FormData做上传文件时,遇到一个问题,后台虽然接收到请求,但是将文件类型识别成了字符串,所以,web端一直报500,结果是自己大意了. 1.因为使用了new  FormData来操作表单,并且在测试模拟请求时,从消息头里看到的确实是表单提交[Content-Type: multipart/form-data]. 所以就没有单独在设置. 结果后来加上了这个配置才可以通过了.这里的原理请参照转发大神的原帖. 这个必须设置:Content-Type: multip