elmentUI+vue(FormData) 同一个接口提交表单数据和图片

1.不使用FormData提交。

elmentUI+vue(FormData) 同一个接口提交表单数据和图片_第1张图片

2.思路

有两个接口,一个是图片接口,一个是表单数据接口,选择图片的时候让图片自动上传(auto-upload=‘真’),在后台使用formidable接收,解析图片名称将其返回(记得引入formidable),前端在on-success绑定的函数下接收返回数据。

// 商品图片
   uploadImg(req, res) {
		let form = new formidable.IncomingForm();
		// 保留文件后缀名
		form.keepExtensions = true
		// 存储位置
		form.uploadDir = './static/img'
		form.parse(req, function(err, fields, files) {
			let imgName = path.basename(files.file.path)
			if(imgName){
				res.json({
					status:200,
					name:imgName
				})
			}
		})
	}

elmentUI+vue(FormData) 同一个接口提交表单数据和图片_第2张图片

接收来自后台数据,将其赋值给return{}中的一个自己定义的值。

3.点击提交表单的时候,获取表单参数(是一个对象),把返回的图片名字添加进去,最后将整个对象最为参数提交。

elmentUI+vue(FormData) 同一个接口提交表单数据和图片_第3张图片

4.dialog.vue






 

你可能感兴趣的:(vue.js,原创)