Maison > interface Web > js tutoriel > le corps du texte

Comment implémenter le téléchargement de fichiers dans nodejs+express

亚连
Libérer: 2018-06-15 11:22:17
original
1449 Les gens l'ont consulté

Cet article présente principalement la fonction simple de téléchargement de fichiers à l'aide de nodejs+express. Les amis qui en ont besoin peuvent s'y référer

1 Établir un projet express

express -e nodejs-uploadfile
Copier après la connexion
<. 🎜>

2. Téléchargez le middleware multer

npm i multer or yarn multer
Copier après la connexion

3. Référencez multer dans routes/index.js. Puisque les opérations sur les fichiers sont également utilisées, fs doit également être référencé. , et spécifiez le répertoire de téléchargement du fichier

const multer = require(&#39;multer&#39;);
const fs = require(&#39;fs&#39;);
const UPLOAD_PATH = &#39;./uploads&#39;
Copier après la connexion
Téléchargement de fichier unique : Les fichiers dans index.html sont les suivants (le type du fichier de formulaire doit être enctype="multipart/form-data" ),

<form action="/upload" method="post" enctype="multipart/form-data">
 <input name="fileUpload" type="file" />
 <img src="" alt="">
 <button type="submit">上传</button>
</form>
Copier après la connexion
Ajoutez la route de téléchargement dans routes/index.js pour gérer l'opération de téléchargement de fichiers

router.post(&#39;/upload&#39;, upload.single(&#39;fileUpload&#39;), function (req, res, next) {
 const { file } = req;
 fs.readFile(file.path, function(err, data) {
 fs.writeFile(`${UPLOAD_PATH}/${file.originalname}`, data, function (err) {
  if (err) res.json({ err })
  res.json({
  msg: &#39;上传成功&#39;
  });
 });
 })
})
Copier après la connexion
Si le fichier téléchargé est une image, vous pouvez également utiliser le Objet FileReader pour prévisualiser l'image

(function($){
 $(&#39;input&#39;).on(&#39;change&#39;, function(event) {
 var files = event.target.files,
  reader = new FileReader();
 if(files && files[0]){
  reader.onload = function (ev) {
   $(&#39;img&#39;).attr(&#39;src&#39;, ev.target.result);
  }
  reader.readAsDataURL(files[0]);
 }
 })
}(jQuery))
Copier après la connexion
Téléchargement de fichiers multiples : Le principe du téléchargement de fichiers multiples est le même que celui du téléchargement de fichiers uniques. Le code est le suivant :

<🎜. >Ce qui précède est ce que j'ai compilé pour tout le monde. J'espère que cela sera utile à tout le monde à l'avenir.
router.post(&#39;/upload&#39;, upload.array(&#39;fileUpload&#39;), function (req, res, next) {
 const files = req.files;
 const response = [];
 const result = new Promise((resolve, reject) => {
 files.map((v) => {
  fs.readFile(v.path, function(err, data) {
  fs.writeFile(`${UPLOAD_PATH}/${v.originalname}`, data, function(err, data) {
   const result = {
   file: v,
   }
   if (err) reject(err);
   resolve(&#39;成功&#39;);
  })
  })
 })
 })
 result.then(r => {
 res.json({
  msg: &#39;上传成功&#39;,
 })
 }).catch(err => {
 res.json({ err })
 });
})
Copier après la connexion

Articles associés :

Comment déterminer si un nom de variable existe dans un tableau en JavaScript

Comment implémenter la fonction de masquage retardé via JS

Comment utiliser Angular pour implémenter la fonction de minuterie

Comment utiliser Angular pour implémenter la fonction d'étiquetage de flèche triangulaire

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!