Как использовать методы HTML в Heroku (Node JS) - PullRequest
0 голосов
/ 16 мая 2019

Так что я пытаюсь настроить довольно простое приложение в Heroku, используя Node JS, и я не могу понять, как заставить метод загрузки действительно работать, поскольку всякий раз, когда я загружаю файл, heroku просто добавляет / загрузить в конец URL. Вы можете проверить ошибку здесь, просто загрузив файл и нажав «Отправить»:

https://keywordgen.herokuapp.com/

Код HMTL, который я использую для формы:

<form method="POST" action="/upload" enctype="multipart/form-data">
    <input type="file" name="keywords"/>
    <button type="submit">Upload</button>

Код узла JS для обработки указанного файла:

var fs = require('fs'),
    path = require('path'),
    express = require('express'),
    formidable = require('formidable');

var app = express();
var port = 3000;
var output = path.resolve(__dirname, '../keygen_files');

console.log('Output directory: ', output);
// app.use(express.bodyParser());
app.use(express.static(__dirname + '/html'));

app.get('/', function(req, res) {
    res.render('index.html');
});

app.post('/upload', function(req, res) {
    var form = new formidable.IncomingForm();
    form.parse(req, function (err, fields, files) {
        var newpath = path.resolve(output, files.keywords.name);
        console.log('Temp file: ' + files.keywords.path);
        fs.rename(files.keywords.path, newpath, function (err) {
            if (err) {
                res.send('Cannot upload file');
            } else {
                readFile(newpath, res);
            }
        });
    });
}); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...