使用multer发布文件

时间:2018-09-05 16:20:43

标签: javascript multer

我正在尝试使用multer将CSV提交到我的/ 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(file)...但是,我再次确实不想在此点上对文件进行“字符串化”。 。我吗?我只是想将文件发送给multer,然后将其放置在上载目录中...

那我要去哪里?我对此很迷茫...

感谢所有帮助。

0 个答案:

没有答案