كيفية التعامل مع تحميلات الملفات في Node.js

كيفية استخدام Node.js وخاصة Express للتعامل مع الملفات المرفوعة

فيكيفية تحميل ملف باستخدام الجلبشرحت كيفية تحميل ملف إلى خادم باستخدامأحضر.

في هذا المنشور ، سأوضح لك الجزء 2: كيفية الاستخدامNode.js، وعلى وجه الخصوصالتعبير، للتعامل مع الملفات المرفوعة.

تحميل هذاexpress-fileuploadوحدة npm:

npm install express-fileupload

وأضفه إلى برمجيتك الوسيطة:

import fileupload from 'express-fileupload'

//or const fileupload = require(‘express-fileupload’)

بعد إنشاء تطبيق Express ، أضف:

app.use(
  fileupload(),
  //...

هذا مطلوب لأنه بخلاف ذلك لا يمكن للخادم تحليل تحميلات الملفات.

يتم الآن توفير الملفات التي تم تحميلها بتنسيقreq.files. إذا نسيت إضافة تلك البرامج الوسيطة ،req.filesسيكونundefined.

app.post('/saveImage', (req, res) => {
  const image = req.files.myFile
  const path = __dirname + '/images/' + image.name

image.mv(path, (error) => { if (error) { console.error(error) res.writeHead(500, { ‘Content-Type’: ‘application/json’ }) res.end(JSON.stringify({ status: ‘error’, message: error })) return }

<span style="color:#a6e22e">res</span>.<span style="color:#a6e22e">writeHead</span>(<span style="color:#ae81ff">200</span>, {
  <span style="color:#e6db74">'Content-Type'</span><span style="color:#f92672">:</span> <span style="color:#e6db74">'application/json'</span>
})
<span style="color:#a6e22e">res</span>.<span style="color:#a6e22e">end</span>(<span style="color:#a6e22e">JSON</span>.<span style="color:#a6e22e">stringify</span>({ <span style="color:#a6e22e">status</span><span style="color:#f92672">:</span> <span style="color:#e6db74">'success'</span>, <span style="color:#a6e22e">path</span><span style="color:#f92672">:</span> <span style="color:#e6db74">'/images/'</span> <span style="color:#f92672">+</span> <span style="color:#a6e22e">image</span>.<span style="color:#a6e22e">name</span> }))

}) })

هذا هو أصغر مقدار من التعليمات البرمجية اللازمة للتعامل مع الملفات.

نسميmvخاصية الصورة التي تم تحميلها. التي يتم توفيرها لنا من قبلexpress-fileuploadوحدة. ننقله إلىpathثم نقوم بإبلاغ العميل بنجاح (أو خطأ!).

تحميل مجانيكتيب Node.js


المزيد من دروس العقدة: