LoginSignup
1
0

More than 3 years have passed since last update.

Express: ファイルアップロード

Last updated at Posted at 2021-04-11

ライブラリーのインストール

sudo npm install -g multer
app.js
//-------------------------------------------------------------------------
//  app.js
//
//                  Apr/11/2021
//-------------------------------------------------------------------------
const express = require('express')
const fs = require('fs')
var cfenv = require('cfenv')
const multer = require('multer')

const app = express()

const storage = multer.diskStorage({
    destination: function (req, file, cb) {
        cb(null, './data_work')
    },
    filename: function (req, file, cb) {
        cb(null, file.originalname)
    }
})

const upload = multer({ storage: storage })

app.post('/upload', upload.single('file'), (req, res) => {
    const filename = req.file.originalname
    const file = req.file
    console.log(file)
    const content = fs.readFileSync(req.file.path, 'utf-8')
    res.send(filename + ': uploaded ***\n')
})

var appEnv = cfenv.getAppEnv()

app.listen(appEnv.port, '0.0.0.0', function() {
    console.log("server starting on " + appEnv.url)
})

//-------------------------------------------------------------------------

サーバーの起動

$ export NODE_PATH=/usr/lib/node_modules
$ node app.js
server starting on http://localhost:3000

テストスクリプト
p01.jpg が data_work にアップロードされます。

curl http://localhost:3000/upload -F 'file=@p01.jpg' 

HTTPie を使ったテストスクリプト

http -f POST http://localhost:3000/upload file@p01.jpg

参考情報
Express で簡単な WebAPI を作成

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0