vue中实现图片上传,我这里使用的是FormData通过axios向后台发送请求,从而实现图片的上传。
在发起请求的axios中一般用qs进行序列化,但是序列化之后,FormData就传送失败,所以要区别传送的数据类型。
经过多次摸索总结了以下经验,以供参考。
首先创建一个文件夹services ,里面有两个文件 index.js 和 api.js。
我们的qs序列化和数据拦截写在index.js中
import axios from "axios"; import config from "@/config"; import router from "@/router"; import validate from "@/util/validate"; import Qs from "qs"; const request = axios.create({ baseURL: config.hostUrl, timeout: 52000, transformRequest: [ (data) => { return data instanceof FormData "htmlcode">async upImgs(files) { // 我的相册图片上传 return (await request.post('/basis/uploadFile', files)).response },页面调用接口
async file_up(event) { //图片预览 try { let res = null; this.file = [...event.target.files]; for (let i = 0, f; (f = this.file[i]); i++) { if (i >= 8 || this.imgs.length >= 8) { return; } let fileImg = new FormData(); fileImg.append("file", f); res = await this.$api.upImgs(fileImg); //这里是调用api处, 此处为多图上传,供参考 if (res.result) { this.imgs.push(res.result.absoluteFilePath); } } } catch (err) { this.$toast({ message: err.message, duration: 1200 }); } }是不是很简单呀!反正我是实现了,有问题可以讨论下哦。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
更新日志
2024年11月15日
2024年11月15日
- 南合文斗.2007-陪君醉笑三千尘鸟人唱片】【FLAC+CUE】
- 群星《我们的歌第六季 第1期》[320K/MP3][90.72MB]
- 群星《我们的歌第六季 第1期》[FLAC/分轨][456.01MB]
- 李雨寰《Break Free》[320K/MP3][98.39MB]
- 草蜢.2001-《真经典》环球唱片[WAV+CUE]
- 群星.2009-第4届2008十大发烧唱片精选[FLAC+CUE]
- 丁红《女儿情》[DTS-WAV]
- 陈惠婷.2017-Voyager3【亚神音乐】【FLAC分轨】
- 群星.2001-华纳歌声魅影【华纳】【WAV+CUE】
- 张雨生.2016-雨后星空2CD【丰华】【WAV+CUE】
- 李雨寰《Break Free》[FLAC/分轨][533MB]
- 廖也欧《面朝大海》[320K/MP3][18.35MB]
- 廖也欧《面朝大海》[Hi-Res][24bit 48kHz][FLAC/分轨][170.14MB]
- s13T1夺冠五人名单都有谁 s13T1夺冠五人名单一览
- 英雄联盟T1战队队长都有谁 T1战队所有队长介绍