如何将文件附加到axios post请求

时间:2017-06-02 18:02:08

标签: javascript vuejs2 axios

Vue2.js + axios,无法追加文件以形成数据

axios.post( '/addTrack', this.form.data )

表单数据对象:

        form: {
            data: {
                title : '',
                style : '',
                authors: [
                    {
                        id: '',
                        rightholder: 1,
                        percent: ''
                    }
                ],
                composers: [
                    {
                        id: '',
                        rightholder: 1,
                        percent: ''
                    }
                ],
                right_area: 1,
            },
            errors: {
            }
        },

如何将文件添加到此请求中? 这不起作用:

this.form.data.file = e.target.files[0];

console.log显示form.data.file属性是正确的File对象,但是axios发送了这个:

file:{_choosed: true}

内容类型:应用/ JSON

1 个答案:

答案 0 :(得分:0)

根据Umair的建议,尝试在Axios post方法的可选配置参数中设置标题,如下所示:

axios.post('/addTrack', this.form.data , {
  headers: {
    'Content-Type': 'multipart/form-data'
  }
});