vue项目中使用axios上传图片等文件

本文介绍了一种使用HTML和JavaScript实现的无刷新图片上传方法。通过将form表单绑定到隐藏的iframe,配合axios进行POST请求,可以实现在不刷新页面的情况下上传图片。此方法适用于需要实时预览或处理用户上传图片的场景。

form表单提交图片会刷新页面,也可以时form绑定到一个隐藏的iframe上,可以实现无刷新提交数据。

html代码:

<input name="file" type="file" accept="image/png,image/gif,image/jpeg" @change="update"/>

js代码:

import axios from 'axios'

// 添加请求头

update (e) {// 上传照片

var self = this

let file = e.target.files[0]

 

let param = new FormData() // 创建form对象

param.append('file', file) // 通过append向form对象添加数据

param.append('chunk', '0') // 添加form表单中其他数据

console.log(param.get('file')) // FormData私有类对象,访问不到,可以通过get判断值是否传进去

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

// 添加请求头

axios.post('http://172.19.26.60:8081/rest/user/headurl', param, config)

 

.then(response => { if (response.data.code === 0) { self.ImgUrl = response.data.data }

console.log(response.data)

 

        })
    }

 

转载于:https://www.cnblogs.com/zhx119/p/10297326.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值