博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用 multiparty 模块进行文件上传
阅读量:4305 次
发布时间:2019-06-06

本文共 1741 字,大约阅读时间需要 5 分钟。

 

 

 

ar fs = require('fs');var path = require('path');var express = require('express');var bodyParser = require('body-parser');var app = express();//登录var Login_File = path.join(__dirname, 'demo/tongxunlu.json'); var router = express.Router();var multiparty = require('multiparty');var util = require('util');// 图片上传app.post('/demo/upload',function(req, res) { // don't forget to delete all req.files when done  //生成multiparty对象,并配置上传目标路径 var form = new multiparty.Form({uploadDir: './upload/picture/'}); //上传完成后处理 form.parse(req, function(err, fields, files) { var obj ={};  var filesTmp = JSON.stringify(files,null,2); if(err){      console.log('parse error: ' + err);   }   else {          console.log('parse files: ' + filesTmp);     var inputFile = files.inputFile[0];     var uploadedPath = inputFile.path;     var dstPath = './upload/picture/' + inputFile.originalFilename;   //重命名为真实文件名   fs.rename(uploadedPath, dstPath, function(err) {     if(err){       console.log('rename error: ' + err);   res.writeHead(200, {
'content-type': 'text/plain;charset=utf-8'}); res.end("{'status':200, 'message': '上传失败!'}"); } else { console.log('rename ok'); res.writeHead(200, {
'content-type': 'text/plain;charset=utf-8'}); res.end("{'status':400, 'message': '上传成功!'}"); } }); } });});module.exports = router;
1.var form = new multiparty.Form({uploadDir: './upload/picture/'});
需要注意一下,这里的文件路径并不会自动创建,需要用户在开发过程中自己在项目的根目录中创建该路径,否则就会报文件路径不存在的错误。
2.var inputFile = files.inputFile[0];
这行代码中,inputFile是form表单中的input组件的name值,这里要在postman中将请求参数调整成inputFile,否则就会报变量未定义的错误。
作者:贾亦真亦贾链接:https://www.jianshu.com/p/a78ee020f549來源:简书简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

 

转载于:https://www.cnblogs.com/BlingSun/p/9232810.html

你可能感兴趣的文章
HIVE—索引、分区和分桶的区别
查看>>
Hive进阶总结(听课总结)
查看>>
大数据领域两大最主流集群管理工具Ambari和Cloudera Manger
查看>>
Sqoop往Hive导入数据实战
查看>>
Mysql到HBase的迁移
查看>>
Sqoop import进阶
查看>>
Hive语句是如何转化成MapReduce任务的
查看>>
Hive创建table报错:Permission denied: user=lenovo, access=WRITE, inode="":suh:supergroup:rwxr-xr-x
查看>>
Hive执行job时return code 2排查
查看>>
hive常用函数及数据结构介绍
查看>>
Hive面试题干货(亲自跟着做了好几遍,会了的话对面试大有好处)
查看>>
力扣题解-230. 二叉搜索树中第K小的元素(递归方法,中序遍历解决)
查看>>
力扣题解-123. 买卖股票的最佳时机 III(动态规划)
查看>>
Django 源码阅读:服务启动(wsgi)
查看>>
Django 源码阅读:url解析
查看>>
Docker面试题(一)
查看>>
第一轮面试题
查看>>
2020-11-18
查看>>
Docker面试题(二)
查看>>
一、redis面试题及答案
查看>>