vue.js2.0 + axios +formData 上传图片获取不到formData数据

做一个简单的图片上传功能,用基础的input file类型来进行上传图片,后台始终获取不到数据,我前台有打印出来一些数据,但是formData对象的值始终为空,代码如下:

https://img.mukewang.com/5c738a080001db3b08000030.jpg

        onUpload(e){

            let self = this;

            let file = e.target.files[0];

            let param =  new FormData();

            console.log(param);//FormData {}

            param.append('file',e.target.files[0]);

            console.log(param);//FormData {}

            param.append('chunk','0');

            console.log(param.get('file'));//file对象

            let config = {

                headers:{'Content-Type':'multipart/form-data'}

            }

            console.log(param);//FormData {}

            axios.post('/api/editreturn/',param,config).then(function(response){

                console.log(response);

            }).catch(function(err){

                console.log(err)

            })

          

        },

下面是依次打印出来的数据,最后一个是后台返回的数据

https://img2.mukewang.com/5c738a17000178fb08000152.jpg

下面是传递到后台的请求头内容

https://img4.mukewang.com/5c738a19000130d608000353.jpg

求教:为什么formData的值总是为空?这样写图片上传的功能不对吗?


红糖糍粑
浏览 804回答 2
2回答

茅侃侃

formData查看请用,formData.getAll("file")和formData.get("file"),直接看是看不到的,axios有错,应该传param,而不是param.get('file')上传可参考我的博客链接描述
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript