Axios는 브라우저와 node.js에서 사용할 수 있는 Promise 기반 HTTP 라이브러리입니다. 이 글에서는 주로 이미지 업로드 진행률 표시줄을 구현하기 위한 axios의 사용을 소개합니다. 필요한 친구는 이를 참고할 수 있습니다.
Axios는 브라우저와 node.js에서 사용할 수 있는 Promise 기반 HTTP 라이브러리입니다. featurespeature
브라우저에서 xmlhttprequests를 생성합니다.
클라이언트는 XSRF에 대한 방어를 지원합니다 다음은 axios를 사용하여 업로드 이미지 진행률 표시줄 기능을 구현하는 방법을 소개합니다. 구체적인 내용은 다음과 같습니다. 최근 프로젝트에서 최대 업로드 수는 다음과 같습니다. 모바일 페이지의 경우 10장의 사진이 압축되었지만 결국에는 여전히 매우 큽니다. 네트워크 카드를 사용하면 업로드 시간이 매우 느리므로 사용자는 알 수 없습니다. 업로드한 양을 더 직관적으로 표시하려면 진행률 표시줄과 업로드 비율을 표시하는 것이 가장 좋습니다. 프로젝트에서는 UI 프레임워크로 mint-ui를 사용합니다. vue가 공식적으로 추천하는 axios(정말 강력함); axios 공식에서 기본 업로드 처리 진행 이벤트 사용을 소개했습니다(자세한 내용은 여기를 참조하세요. 중국어로 된 axios 공식 소개는 다음과 같습니다):onUploadProgress: function (progressEvent) { // 对原生进度事件的处理 },
uploadPhoto(payload,callback1,callback2){ axios({ url:BASE_URL + '/handler/material/upload', method:'post', onUploadProgress:function(progressEvent){ //原生获取上传进度的事件 if(progressEvent.lengthComputable){ //属性lengthComputable主要表明总共需要完成的工作量和已经完成的工作是否可以被测量 //如果lengthComputable为false,就获取不到progressEvent.total和progressEvent.loaded callback1(progressEvent); } }, data:payload }).then(res =>{ callback2(res.data); }).then(error =>{ console.log(error) }) }
<mt-progress :value="precent" :bar-height="10"> <p slot="end">{{Math.ceil(precent)}}%</p> </mt-progress>
const _this = this; API.uploadPhoto(fd,(res) =>{ let loaded = res.loaded, total = res.total; _this.$nextTick(() =>{ _this.precent = (loaded/total) * 100; }) },(res) =>{ if(res.code === '200'){ MessageBox.alert('图片上传成功').then(action => { console.log('ok'); }); } })
ionic3에서 무작위 레이아웃 폭포 흐름을 구현하는 방법
React 프로젝트에서 Redux를 사용하는 방법(자세한 튜토리얼)
JavaScript에서 자동 숫자 증가를 구현하는 방법
Swiper 사용 페이지네이터 사용 방법
Angular에서 민감한 텍스트 프롬프트를 구현하는 방법
위 내용은 Axios를 사용하여 진행률 표시줄 기능이 있는 사진을 업로드하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!