Использование multer для публикации файлов - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь использовать multer для отправки CSV в папку my / uploads.

в моем HTML у меня есть это:

<v-layout class="marginize">
    <v-spacer></v-spacer>

        <input type="file" name="csv" style="display: none;" id="myFile" accept=".csv"/>
        <v-btn @click="getFile">Select File</v-btn>
        <v-btn @click="uploadFile">Upload</v-btn>

    <v-spacer></v-spacer>
</v-layout>

Кстати, я также использую Vue.js и Vuetify.

Таким образом, событие @click кнопок «Выбрать файл» запускает событие .click () для кнопки ввода скрытого файла. Затем кнопка «Загрузить» вызывает мой API. Вот где я запутался.

Вот мой метод uploadFile:

    uploadFile: function(){
        let fileSel = document.querySelector('#myFile').files[0]
        console.log(fileSel)
        api.uploadFile(fileSel)
            .then(obj => {
                console.log(obj)
            })
    }

и вот этот вызов API:

    let uploadFile = (file) => {
        fetch('/upload', {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json'
            },
            body: file,
        })
        .then(res => res.send())
    }

С этого момента все должно работать нормально, просто избавиться от дополнительных возможностей для загрузки файлов. Во-первых, я не совсем уверен, что передать моему вызову api.uploadFile (). Я посылаю информацию о файлах, я думаю, но это не на самом деле , что я хочу делать, я хочу отправлять фактический файл ... но я не знаю, как это сделать ... я не думаю, что браузер хранит копию фактического файла в любом месте ... если вы не можете использовать хранилище сессии для этого?

Во-вторых, в моем вызове API .. Мне нужно JSON.stringify (файл) в теле ... но опять же, я не действительно хочу "заштриховать" файл на этом этапе ... я? Я просто хочу отправить файл в multer и поместить его в каталог для загрузки ...

Так куда мне идти? Я довольно потерян с этим ...

Спасибо за любую помощь.

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