如何使用Axios发送文件?

时间:2019-03-17 13:40:02

标签: javascript file vue.js axios send

我试图用Axios发送文件,首先我用@submit.prevent="uploadResume"创建了一个表单,并在此表单中放置了<input type="file">。我说在方法中,获取 input元素,然后将其保存在file变量中,然后将其附加到FormData(),这很有趣,因为Axios发送了FormData()但是文件没有保存在数据库中

这是我写的代码:

uploadResume(e) {
        let form = new FormData();
        let file = e.target.querySelector('input[type="file"]')

        form.append('media', file.files[0])
        form.append('title', 'passport')
        form.append('owner_id', this.modalId)
        form.append('uploader_id', this.$store.state.userId)

        axios.post('http://localhost:8000/api/v1/media', form, {
            headers: {
                Authorization: "Bearer " + this.$store.state.token,
                'Content-Type': 'multipart/form-data'
            }
        })
        .then(response => {
            console.log('Done')
            console.log(response)
        })
        .catch(error => {
            console.log('------- Failed -------')
            console.log(error)
        })
    },

0 个答案:

没有答案