Home Web Front-end JS Tutorial Use axios to upload files in vue

Use axios to upload files in vue

Jun 19, 2018 pm 04:43 PM
axios vue File Upload progress bar

I have been learning axios recently, and then used it in the project, so this article mainly introduces you to the relevant information about using axios in vue to realize real-time update of file upload progress. The article first gives a brief introduction to axios and the method. Everyone understands learning. Friends who need it can learn together below.

axios Introduction

axios is a Promise-based HTTP client for browsers and nodejs. It has the following characteristics:

  • Create XMLHttpRequest from the browser

  • Issue an http request from node.js

  • Support Promise API

  • Interception of requests and responses

  • Convert request and response data

  • Cancel request

  • Automatically convert JSON data

  • The client supports preventing CSRF/XSRF

Introduction method:

$ npm install axios
//使用淘宝源
$ cnpm install axios
//或者使用cdn:
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
Copy after login

When installing other plug-ins, you can directly introduce them in main.js and use Vue.use() to register, but axios is not a vue plug-in, so you cannot use Vue.use (), so it can only be introduced immediately in each component that needs to send a request.

In order to solve this problem, after introducing axios, we modified the prototype chain to make it more convenient to use.

//main.js

import axios from 'axios'
Vue.prototype.$http = axios
Copy after login

After adding these two lines of code to main.js, you can use the $http command directly in the component's methods

methods: {
postData () {
this.$http({
method: 'post',
url: '/user',
data: {
name: 'xiaoming',
info: '12'
}
})
}
Copy after login

For more basic knowledge, you can refer to this article: //www.jb51.net/article/110324.htm

##vue uses axios to realize real-time update of file upload progress

The progress event has been added to the XHR level 2, whereby we can add a real-time data progress bar while the browser is receiving new data, thus making the interaction more friendly

vue template

<p class="progress" @click="upload"
   :style="{backgroundImage:'linear-gradient(to right,#C0C7CB 0%,#C0C7CB '+progress+',#E1E6E9 '+progress+',#E1E6E9 100%)'}">
Copy after login

vue-js

 var form = new FormData()
 form.append('file', vm.$refs.upload.files[0])
 form.append('id', id)
 form.append('type', type)
 var config = {
  onUploadProgress: progressEvent => {
   var complete = (progressEvent.loaded / progressEvent.total * 100 | 0) + '%'
   this.progress = complete
  }
 }
 axios.post(`api/uploadFile`,
  form, config).then((res) => {
  if (res.data.status === 'success') {
   console.log('上传成功')
  }
 })
Copy after login
The above is what I compiled for everyone. I hope it will be helpful to everyone in the future.

Related articles:

Is there an error when calling fs.renameSync in Node.js?

How to configure the React Native development environment in VSCode

How to install Mint-UI in vue

How to implement collection data traversal display in AngularJS

The above is the detailed content of Use axios to upload files in vue. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to use gRPC to implement file upload in Golang? How to use gRPC to implement file upload in Golang? Jun 03, 2024 pm 04:54 PM

How to use gRPC to implement file upload in Golang?

How to use echarts in vue How to use echarts in vue May 09, 2024 pm 04:24 PM

How to use echarts in vue

The role of export default in vue The role of export default in vue May 09, 2024 pm 06:48 PM

The role of export default in vue

How to use map function in vue How to use map function in vue May 09, 2024 pm 06:54 PM

How to use map function in vue

How to implement drag and drop file upload in Golang? How to implement drag and drop file upload in Golang? Jun 05, 2024 pm 12:48 PM

How to implement drag and drop file upload in Golang?

The role of onmounted in vue The role of onmounted in vue May 09, 2024 pm 02:51 PM

The role of onmounted in vue

The difference between export and export default in vue The difference between export and export default in vue May 08, 2024 pm 05:27 PM

The difference between export and export default in vue

Onmounted in vue corresponds to which life cycle of react Onmounted in vue corresponds to which life cycle of react May 09, 2024 pm 01:42 PM

Onmounted in vue corresponds to which life cycle of react

See all articles