源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-12-22 16:56 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:vue项目中使用axios上传图片等文件操作
[b]axios 简介[/b] axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,它本身具有以下特征: 从浏览器中创建 XMLHttpRequest 从 node.js 发出 http 请求 支持 Promise API 拦截请求和响应 转换请求和响应数据 取消请求 自动转换JSON数据 客户端支持防止 CSRF/XSRF [b]首先安装axios:[/b] 1.利用npm安装npm install axios –save 2.利用bower安装bower install axios –save 3.直接利用cdn引入
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
[b]一般情况上传照片有两种方式:[/b] 1.本地图片转换成base64,然后通过普通的post请求发送到服务端。   操作简单,适合小图,以及如果想兼容低版本的ie没办法用此方法 2.通过form表单提交。   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]
   /* eslint-disable no-undef */
   let param = new FormData() // 创建form对象
   param.append('file', file, file.name) // 通过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)
    })
  }
[b]总结[/b] 以上所述是小编给大家介绍的vue项目中使用axios上传图片等文件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程素材网网站的支持!
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部