Node.jsでファイルのアップロードを処理する方法

Node.js、特にExpressを使用してアップロードされたファイルを処理する方法

Fetchを使用してファイルをアップロードする方法を使用してサーバーにファイルをアップロードする方法を説明しましたフェッチ

この投稿では、パート2:使用方法を紹介します。Node.js、特にExpress、アップロードされたファイルを処理します。

をインストールしますexpress-fileuploadnpmモジュール:

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ハンドブック


その他のノードチュートリアル: