% 20 в URL, используя multer - PullRequest
0 голосов
/ 19 февраля 2019

Я пытаюсь создать программу загрузки файлов, используя multer в node и express.Я успешно загрузил и также прочитал его, но когда я использую свой индекс для предварительного просмотра, он не может показать ни одного изображения в проверке, есть идеальная ссылка, но когда я нажимаю на эту ссылку и открываю, она содержит% 20 и что нет предварительного просмотрафайл изображения

Вот код app.js

      app.get('/', (req,res)=>{
   gfs.files.find().toArray((err,files) => {
    //check if files
    if(!files || files.length === 0 ){
        res.render('index', {files: false});
    }else{
        files.map( file => {
            if(file.contentType === 'image/jpeg' || file.contentType === 'image/png'){
                file.isImage = true;
            }else{
                file.isImage = false;
            }
        });
        //console.log(files);

        res.render('index', {files: files});
    }
});
});

, а вот мой HTML

 <h1 class="text-center display-4 my-4">Mongo file upload</h1>    
        <form action="/upload" method="POST" enctype="multipart/form-data">
            <div class="custom-file mb-3">
                <input type="file" name="file" id="file" class="custom-file-input">
                <label for="file" class="custom-file-label">Choose File</label>
            </div>
            <input type="submit" value="Submit" class="btn btn-primary btn-block">
        </form>
        <hr>
        <% if(files){ %>
            <% files.forEach(function(file){ %>
                <div class="card card-body mb-3">
                    <%  if(file.isImage){ %>
                        <img src="image/ <%= file.filename %>" alt="Image">
                    <% }else{ %>
                        <%= file.filename %>
                    <% } %>
                </div>
            <%  }) %>
        <% }else{ %>
            <p>No files to show</p>
        <% } %>

1 Ответ

0 голосов
/ 19 февраля 2019

% 20 - это символ пробела в кодировке URL.

Эта строка в html содержит этот пробел:

<img src="image/ <%= file.filename %>" alt="Image">
                ^

Удаление этого пробела, скорее всего, решит вашу проблему.

...