Загружайте файлы с помощью Express.js и express-fileupload - PullRequest
0 голосов
/ 06 октября 2019

Я пытаюсь загрузить файл на FTP. Я использую Express.js, Node, и я нашел очень хороший учебник в этом блоге:

https://attacomsian.com/blog/uploading-files-nodejs-express

ТАК, все выглядит хорошо, но где я могу положитьданные конфигурации на FTP (пользователь, хост, пароль ...)?

Как я понимаю, экспресс-загрузка файлов - это промежуточное ПО, поэтому мне нужно сделать дополнительный шаг? Или где я должен передать свои учетные данные, чтобы подключиться к FTP?

Далее приведен код на примере блога:

const express = require('express');
const fileUpload = require('express-fileupload');
const cors = require('cors');
const bodyParser = require('body-parser');
const morgan = require('morgan');
const _ = require('lodash');

const app = express();

// enable files upload
app.use(fileUpload({
    createParentPath: true
}));

//add other middleware
app.use(cors());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
app.use(morgan('dev'));

app.post('/upload-avatar', async (req, res) => {
    try {
        if(!req.files) {
            res.send({
                status: false,
                message: 'No file uploaded'
            });
        } else {
            //Use the name of the input field (i.e. "avatar") to retrieve the uploaded file
            let avatar = req.files.avatar;

            //Use the mv() method to place the file in upload directory (i.e. "uploads")
            avatar.mv('./uploads/' + avatar.name);

            //send response
            res.send({
                status: true,
                message: 'File is uploaded',
                data: {
                    name: avatar.name,
                    mimetype: avatar.mimetype,
                    size: avatar.size
                }
            });
        }
    } catch (err) {
        res.status(500).send(err);
    }
});

//start app 
const port = process.env.PORT || 3000;

app.listen(port, () => 
  console.log(`App is listening on port ${port}.`)
);

Надеюсь, вы мне поможете. Может быть, это легко, но в этот час мой мозг больше не работает.

Заранее спасибо,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...