Проблема при загрузке изображения в nodejs - PullRequest
0 голосов
/ 19 мая 2019

Req.file и req.files оказываются неопределенными.

Я пробовал использовать методы, которые показались мне полезными, но ни один из них не работал для меня.*

<div class="container">
    <div class="row">
        <h1 style="text-align: center">Report for the Lost Item</h1>
        <div style="width: 30%; margin: 25px auto;">
            <form action="/report" method="POST" enctype="multipart/form-data">
                <div class="form-group">
                    <input class="form-control" type="text" name="name" placeholder="name">
                </div>
                <div class="form-group">
                    <input class="form-control" type="text" name="type" placeholder="request type">
                </div>
                <div class="form-group">
                    <input class="form-control" type="text" name="date" placeholder="date">
                </div>
                <div class="form-group">
                    <input class="form-control" type="text" name="time" placeholder="time">
                </div>
                <div class="form-group">
                    <input class="form-control" type="text" name="location" placeholder="location">
                </div>
                <div class="form-group">
                    <input class="form-control" type="text" name="phone" placeholder="phone">
                </div>
                <div class="form-group">
                    <input class="form-control" type="file" name="image" placeholder="image url">
                </div>
                <div class="form-group">
                    <input class="form-control" type="text" name="description" placeholder="description">
                </div>
                <div class="form-group">
                    <button class="btn btn-lg btn-primary btn-block">Submit!</button>
                </div>
            </form>
            <a href="/report">Go Back</a>
        </div>
    </div>
</div>
<% include ../partials/footerstudent %>

Я ожидаю, что req.file будет содержать имя файла и другие атрибуты загруженного файла.

1 Ответ

0 голосов
/ 19 мая 2019

Я заметил, что вы отправляете форму в отчет конечную точку. это должно потребляться таким образом

router.post("/report", upload.single("image"), function(req, res){
    // get data from form and add to items array
    console.log(req.file);
    console.log(req.files);
    // Other req.body usage here
}) 

Но для повторной сборки загруженного файла в вашем приложении вам необходимо проанализировать тело запроса (как данные многоэлементной формы).

В Express 3.x вы можете использовать промежуточное ПО express.bodyParser для обработки многокомпонентных форм, но с Express 4.x нет анализатора тела в комплекте с каркасом. Доступно много пакетов. Предполагается, что вы используете mutler и Express 4.0

.

Сначала убедитесь, что API работает правильно, отправив другие параметры

...