Heim > Web-Frontend > js-Tutorial > Hauptteil

Lassen Sie uns darüber sprechen, wie Node+Multiparty das Hochladen von Dateien implementiert

青灯夜游
Freigeben: 2022-06-23 10:05:31
Original
2340 Leute haben es durchsucht

Wie lade ich Dateien mit node hoch? Der folgende Artikel stellt Ihnen vor, wie Sie Dateien mithilfe von Node in Kombination mit Multiparty hochladen. Ich hoffe, er wird Ihnen hilfreich sein!

Lassen Sie uns darüber sprechen, wie Node+Multiparty das Hochladen von Dateien implementiert

Das Hochladen von Dateien ist wahrscheinlich ein wesentlicher Vorgang in jedem Projekt. Heute verwenden wir nodejs, um ein Datei-Upload-Modul zu implementieren.


1. Modul

npm i multiparty
Nach dem Login kopieren
rrree

2. Der Code wird in der ()-Datei abgelegt. Der Code in der Datei lautet wie folgt:

npm i express
Nach dem Login kopieren

upload.js 3. main.js-Datei

// 上传文件模块
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
Nach dem Login kopieren
4. Beispiel

Aufrufen

Lassen Sie uns darüber sprechen, wie Node+Multiparty das Hochladen von Dateien implementiertWeitere Informationen zu Knoten finden Sie unter:
nodejs-Tutorial!

Das obige ist der detaillierte Inhalt vonLassen Sie uns darüber sprechen, wie Node+Multiparty das Hochladen von Dateien implementiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage