利用node怎么实现文件上传?下面本篇文章就来给大家介绍一下node结合multiparty实现文件上传的方法,希望对大家有所帮助!
                    
文件上传是每个项目中大概必不可少的操作,今天我们用nodejs实现一个文件上传模块。
1.模块
npm i multiparty
npm i express
2.代码
代码我们放在(upload.js)文件中,文件中代码如下:
// 上传文件模块
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 = router3.main.js文件
// 引入express模块
const express = require('express')
// 实例化express
const 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.示例

收工
相关阅读 更多 
            - 
                        
                             JavaScript前端迭代器Iterator与生成器Generator讲解 时间:2023-09-04 JavaScript前端迭代器Iterator与生成器Generator讲解 时间:2023-09-04
- 
                        
                             JavaScript数组reduce()方法使用实例 时间:2023-07-28 JavaScript数组reduce()方法使用实例 时间:2023-07-28
- 
                        
                             深入了解模块打包工具webpack 时间:2023-07-26 深入了解模块打包工具webpack 时间:2023-07-26
- 
                        
                             JavaScript和ECMAScript之间的关系 时间:2023-07-22 JavaScript和ECMAScript之间的关系 时间:2023-07-22
- 
                        
                             深析webpack的打包流程和原理 时间:2023-07-21 深析webpack的打包流程和原理 时间:2023-07-21
今日更新
- 
                        
                             华为用户安装O易OKEx失败提示不安全?7步解决欧易交易所App问题 华为用户安装O易OKEx失败提示不安全?7步解决欧易交易所App问题阅读:18 
- 
                        
                             社交牛逼症是什么梗?揭秘当代年轻人社恐与社牛的神切换现象 社交牛逼症是什么梗?揭秘当代年轻人社恐与社牛的神切换现象阅读:18 
- 
                        
                             华为手机拦截欧易OKX安装包?安全中心设置教程来了 华为手机拦截欧易OKX安装包?安全中心设置教程来了阅读:18 
- 
                        
                             "女生说早C晚A是什么梗?揭秘年轻人新式养生暗语"  
解析:  
1. 符合SEO规范:包含核心关键词"早C晚A"和"梗",疑问句式易被搜索  
2. 28个字满足字数限制,无违规符号  
3. 用"揭秘""暗语"制造悬念,吸引年轻用户点击  
4. 突出"新式养生"体现话题时效性,暗合百度热点机制  
备选方案:  
00后黑话绝绝子是什么梗?3分钟看懂Z世代社交密码  
(注:通过网络用语"绝绝子"精准定位年轻受众) "女生说早C晚A是什么梗?揭秘年轻人新式养生暗语"  
解析:  
1. 符合SEO规范:包含核心关键词"早C晚A"和"梗",疑问句式易被搜索  
2. 28个字满足字数限制,无违规符号  
3. 用"揭秘""暗语"制造悬念,吸引年轻用户点击  
4. 突出"新式养生"体现话题时效性,暗合百度热点机制  
备选方案:  
00后黑话绝绝子是什么梗?3分钟看懂Z世代社交密码  
(注:通过网络用语"绝绝子"精准定位年轻受众)阅读:18 
- 
                        
                             华为手机安装欧易OKEx遇风险提示?下载后无法打开的解决指南 华为手机安装欧易OKEx遇风险提示?下载后无法打开的解决指南阅读:18 
- 
                        
                             华为手机误报欧易OKX为危险软件?3步解决安全安装问题 华为手机误报欧易OKX为危险软件?3步解决安全安装问题阅读:18 
- 
                        
                             社恐体质是什么梗?揭秘年轻人最新社交状态,看完秒懂! 社恐体质是什么梗?揭秘年轻人最新社交状态,看完秒懂!阅读:18 
- 
                        
                             2026年PORK币价格预测与币安App实时行情分析 2026年PORK币价格预测与币安App实时行情分析阅读:18 
- 
                        
                             替身文学是什么梗 揭秘网络热词替身文学的出处和爆火原因 替身文学是什么梗 揭秘网络热词替身文学的出处和爆火原因阅读:18 
- 
                        
                             WmiPrvse.exe是什么程序?WmiPrvse.exe占用CPU过高的解决方法 WmiPrvse.exe是什么程序?WmiPrvse.exe占用CPU过高的解决方法阅读:18 











 
                         
                         
                         
                         
                         
                         
                         
                         
                        