2017-07-12 35 views
0

私はUIKITアップローダーとNodeJSを通してファイルをアップロードしようとしています。問題は、POSTリクエストでファイルを取得できないことです。UIKITアップロード - サーバー側NodeJS

upload.controller.js

UIkit.upload('.test-upload', { 

     url: '/upload', 
     multiple: true 
     ... 
}) 

app.js

app.post('/upload', function (req, res, next) { 
    // How can I get the file here?? 
}); 
+0

、私は、「ファイル[]」と呼ばれるparamはあり見ることができますが、まだ方法がわかりませんそれを得るために。 – nash

答えて

1

あなたはこのようなmulterとしてあなたのエクスプレスアプリへmultipart/formミドルウェアする必要があります。 Expressはファイルのアップロードをサポートしていないため、通常はサーバーインスタンス全体ではなくルート上にミラーを追加する必要があります。

Multerでは、単一または複数のファイルアップロードを処理でき、アップロードに関するメタ情報のフォームデータも処理できます。さまざまな設定とストレージ設定について詳しくは、ドキュメントを参照してください。 [ドキュメント](https://getuikit.com/docs/upload#component-options)から

const express = require('express') 
const multer = require('multer') 
const port = process.env.PORT || 1337 
const server = express() 
const upload = multer({dest: 'temp/' }) 

// process the array of "files" 
server.post('/upload', upload.array('files'), (req, res) => { 
    // work with files 
    console.log(req.files) // array of files 

    // request body will be processed by multer as well 
    console.log(req.body) 
}) 

server.listen(port,() => { console.log(`Listening on ${port}`) }) 
+0

ありがとう、それは働いた! :)ほんの少しのこと...私は "name"パラメータの名前を 'upload.array( 'files []')'(UIkitによるデフォルトのもの)に変更しなければなりませんでした。 – nash

関連する問題