利用node怎么实现文件上传?下面本篇文章就来给大家介绍一下node结合multiparty实现文件上传的方法,希望对大家有所帮助!

文件上传是每个项目中大概必不可少的操作,今天我们用nodejs实现一个文件上传模块。
1.模块
npm i multiparty
npm i express
2.代码
代码我们放在(upload.js)文件中,文件中代码如下:
文心一言
文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。
1008 查看详情
// 上传文件模块const multiparty = require('multiparty')// 文件操作模块const fs = require('fs')// 导入express框架const express = require('express')// 路由const router = express.Router()// 上传文件接口router.post('/upload/file', (req, res) => { /* 生成multiparty对象,并配置上传目标路径 */ let form = new multiparty.Form(); // 设置编码 form.encoding = 'utf-8'; // 设置文件存储路径,以当前编辑的文件为相对路径 form.uploadDir = './public'; // parse,表单解析器 // fields :普通的表单数据 // files:上传的文件的信息 form.parse(req, function (err, fields, files) { try { // 文件为files.file[0] let upfile = files.file[0] // 为文件进行命名,修改upfile文件中的path,否则会随机生成文件名 let newpath = form.uploadDir + '/' + upfile.originalFilename //文件名 // 重命名 fs.renameSync(upfile.path, newpath); // 返回信息,((upfile.size)/1048576).toFixed(2)将文件由B转换为M的单位并进行取小数点后两位进行四舍五入向上取操作 res.send({ code:200, msg:'File Success', file_name:upfile.originalFilename, file_size:((upfile.size)/1048576).toFixed(2)+'M' }) } catch { // 异常情况下的消息 console.log(err) res.send({ code:401, msg:'File error', more_msg:err }) } })})// 导出该模块供main主函数文件中进行调用module.exports = router
3.main.js文件
// 引入express模块const express = require('express')// 实例化expressconst app = express()// 文件夹映射app.use('/static',express.static('public'))// 上传文件接口const upload=require('./router/upload')app.use(upload)// 监听服务app.listen('3333', '0.0.0.0', (res) => { console.log('Server running http://127.0.0.1:3333')})
4.示例

收工
更多node相关知识,请访问:nodejs 教程!
以上就是聊聊node+multiparty怎么实现文件上传的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/550033.html
微信扫一扫
支付宝扫一扫