vue+node+axios实现图片上传

本文介绍如何使用Vue作为前端框架,结合axios进行图片上传操作,后端通过Node.js处理接收到的数据。关键点在于使用FormData对象封装图片,并在axios请求中设置正确配置。后端需使用multer库来接收并处理图片。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用vue做前端,用axios上传图片,用node做后台接收数据

前端部分


上传图片用的是formData方法上传,用axios上传需要注意的地方:

<script>

import axios from 'axios'

methods:{

getImg(){

//用axios()方法

//需要注意的是在ajax中使用formdata需要配置anync:true,contentType:false,processData:false,在axios中不配置                 //也能上传

                //还有一个地方需要注意的是formData.append(name,value),里面的name对应的是input 的name值,value对应

//的是input的files[0],不是input.val(),对于的type=file的input,图片是在input的FileList 里面,

//这里用的是this.$refs.upload.files[0],这是因为在vue中使用this.$refs.refname来获取dom的真实节点,用jq或者

//js的获取节点的方法是拿不到的,

var formData = new FormData();

formData.append('file',this.$refs.upload.files[0]);

axios({

method:'post',

url:'http://localhost:3000/users/touxiang',

anync:true,
contentType:false,
processData:false,

data:formData

}).then(function(res){

console.log(res)

})

}

}


//用axios.post方法传图片,需要注意的

//直接将params作为参数传到post方法内

//regis就是已经封装好的post方法

var params = new FormData();
params.append('file',this.$refs.upload.files[0]);
userApi.regis(params).then(function(res){
console.log(res)
})

</script>

//后台接收需要注意

//node中接收图片一定要用multer,否则无法接收到图片

//用multer接收图片后的处理方法仍然是修改名称和路径,将路径保存到数据库,然后返回路径给前台




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值