全面解析node 表单的图片上传
node 全面解析表单的图片上传 ,multiparty解析与内容类型的HTTP请求multipart/form-data,也被称为文件上传。
multiparty安装
npm install multiparty
html代码
<form action="/api/uppic" method="post" > <input type="file" name="pic" > <input type="submit"> </form>
node 代码
app.route('/api/uppic').post(function(req,res){ var multiparty = require('multiparty'); var form = new multiparty.Form();//新建表单 //设置编辑 form.encoding = 'utf-8'; //设置图片存储路径 form.uploadDir = "Uploads/gaoxiao/"; form.keepExtensions = true; //保留后缀 form.maxFieldsSize = 2*1024*1024; //内存大小 form.maxFilesSize= 5*1024*1024;//文件字节大小限制,超出会报错err //表单解析 form.parse(req, function(err,fields,files) { //报错处理 if(err){ console.log(err); var u={"error" :1,"message":'请上传5M以图片'}; res.end(JSON.stringify(u)); return false; } //获取路径 var oldpath=files.imgFile[0]['path']; //文件后缀处理格式 if(oldpath.indexOf('.jpg')>=0){ var suffix='.jpg'; }else if(oldpath.indexOf('.png')>=0){ var suffix='.png'; }else if(oldpath.indexOf('.gif')>=0){ var suffix='.gif'; }else{ var u={"error" :1,"message":'请上传正确格式'}; res.end(JSON.stringify(u)); return false; } var url='Uploads/gaoxiao/'+Date.now()+suffix; var fs=require('fs'); //给图片修改名称 fs.renameSync(oldpath,url); var u={ "error" : 0, "url" : '/'+url} res.end(JSON.stringify(u)); }); });
multiparty
multiparty.Form创建一个新的形式**
encoding:用于输入表单字段集编码。默认为utf8
maxFieldsSize:限制内存的所有字段(而不是文件)的量可以以字节为单位分配。如果超过该值,一个error事件被发射。默认大小为2MB。
maxFields:限制,将发射一个前解析字段的数目error的事件。一个文件算作在这种情况下,一个字段。默认为1000。
maxFilesSize:上传文件大小限制,只有当相关autoFiles的true。限制接受合并所有文件的总字节数。如果超过该值,一个error事件被发射。默认值是无穷大。
autoFields:启用field事件和禁用part事件的字段。这是自动设置为true如果添加了一个field侦听器。
uploadDir:只有当相关autoFiles的true。目录放置文件上传。您以后可以使用移动它们fs.rename()。默认为os.tmpDir()。
form.parse(req,function(err,fields,files){})
- fields: 是一个对象(上传名称和值),其属性名的字段名称和值是字段值的数组。
- files :是一个对象(上传名称和服务器文件路径),其属性名的字段名称和值是文件对象的数组。
files内文件对象file - 具有这些属性的对象:
- fieldName-同name-此文件中的字段名
- originalFilename -文件名,对于该文件的用户的报告
- path - 在磁盘上载文件的绝对路径
- headers - 这是与该文件一起发送的HTTP头
- size -以字节的文件大小
node表单解析(multiparty)的api地址:https://www.npmjs.com/package/multiparty

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Cara memadam nod dengan nvm: 1. Muat turun "nvm-setup.zip" dan pasangkannya pada pemacu C 2. Konfigurasikan pembolehubah persekitaran dan semak nombor versi melalui arahan "nvm -v" 3. Gunakan "nvm arahan install" Pasang nod; 4. Padamkan nod yang dipasang melalui arahan "nvm uninstall".

Bagaimana untuk mengendalikan muat naik fail? Artikel berikut akan memperkenalkan kepada anda cara menggunakan ekspres untuk mengendalikan muat naik fail dalam projek nod saya harap ia akan membantu anda!

Dalam tempoh ini, saya sedang membangunkan perkhidmatan dinamik HTML yang biasa kepada semua kategori dokumen Tencent Untuk memudahkan penjanaan dan penggunaan akses kepada pelbagai kategori, dan untuk mematuhi trend beralih ke awan, saya sedang mempertimbangkan. menggunakan Docker untuk membetulkan kandungan perkhidmatan dan mengurus versi produk secara seragam. Artikel ini akan berkongsi pengalaman pengoptimuman yang saya kumpulkan dalam proses perkhidmatan Docker untuk rujukan anda.

Artikel ini akan berkongsi dengan anda alat pengurusan proses Node "pm2", dan bercakap tentang mengapa pm2 diperlukan, cara memasang dan menggunakan pm2, saya harap ia akan membantu semua orang!

Penjelasan dan Panduan Pemasangan Terperinci untuk Pinetwork Nodes Artikel ini akan memperkenalkan ekosistem pinetwork secara terperinci - nod pi, peranan utama dalam ekosistem pinetwork, dan menyediakan langkah -langkah lengkap untuk pemasangan dan konfigurasi. Selepas pelancaran Rangkaian Ujian Blockchain Pinetwork, nod PI telah menjadi bahagian penting dari banyak perintis yang aktif mengambil bahagian dalam ujian, bersiap sedia untuk pelepasan rangkaian utama yang akan datang. Jika anda tidak tahu kerja pinet, sila rujuk apa itu picoin? Berapakah harga untuk penyenaraian? Penggunaan PI, perlombongan dan analisis keselamatan. Apa itu Pinetwork? Projek Pinetwork bermula pada tahun 2019 dan memiliki syiling pi cryptocurrency eksklusifnya. Projek ini bertujuan untuk mewujudkan satu yang semua orang boleh mengambil bahagian

Bagaimana untuk membungkus fail boleh laku nodejs dengan pkg? Artikel berikut akan memperkenalkan kepada anda cara menggunakan pkg untuk membungkus projek Node ke dalam fail boleh laku. Saya harap ia akan membantu anda!

npm node gyp gagal kerana versi "node-gyp.js" dan "Node.js" tidak sepadan Penyelesaiannya: 1. Kosongkan cache nod melalui "npm cache clean -f" 2. Melalui "npm install -. g n" Pasang modul n; 3. Pasang versi "nod v12.21.0" melalui arahan "n v12.21.0".

Apakah sistem log masuk tunggal? Bagaimana untuk melaksanakannya menggunakan nodejs? Artikel berikut akan memperkenalkan kepada anda cara menggunakan nod untuk melaksanakan sistem log masuk tunggal. Saya harap ia akan membantu anda!
