위챗 애플릿은 여러 장의 본지 사진을 서버와 그림에 업로드하여 미리 보기를 실현한다
1. 앞말
최근에 작은 프로그램을 쓰고 있는데
wx.uploadFile
방법을 썼는데 이 방법이 여러 개의 파일을 동시에 업로드하는 것을 지원하지 않는다는 것을 발견하고 스스로 여러 개의 파일을 업로드하는 방법을 썼다.[이미지 업로드 실패...(image-c4d973-1610865751169)]
2, 요구 사항
블로거가 한 것은 사용자 고소 페이지이다.수요는 사용자가 최대 세 장의 사진을 올리고 마지막으로 사진과 문자, 사용자 정보 등을 서버에 제출하는 것이다.
[이미지 업로드 실패...(image-8e50b6-1610865751169)]
3. 사고방식 해결
블로거의 해결 사고방식은 귀속 함수를 정의하고 귀속 호출
wx.uploadFile
을 업로드하여 모두 완성한 후에 귀속을 끝내는 것이다.4, 코드 표시
this.데이터의 데이터
/**
*
*/
data: {
imgs:[],//
imgPath:[],//
},
그림 코드 업로드
//
chooseImg (e) {
const _this = this;
let imgs = this.data.imgs;
let imgNumber = this.data.imgs.length;//
if(imgNumber >= 3){
FN.Toast(" ");
return false;
}else{
imgNumber = 3 - imgNumber;
};
wx.chooseImage({//
count: imgNumber,
sizeType: ['original', 'compressed'],
sourceType: ['album', 'camera'],
success (res) {
const tempFilePaths = res.tempFilePaths;
for(let i = 0;i < tempFilePaths.length; i++){
imgs.push(tempFilePaths[i]);
}
_this.setData({// ,
imgs: imgs
});
let successUp = 0; //
let failUp = 0; //
let count = 0; //
let length = tempFilePaths.length; //
_this.recursionUploading(tempFilePaths, successUp, failUp, count, length);//
}
})
},
반복 업로드 방법
//
recursionUploading(imgPaths, successUp, failUp, count, length){
var _this = this;
wx.showLoading({
title: ' ' + count + ' ',
});
wx.uploadFile({
url: `${app.globalData.baseURL}/api `,
filePath: imgPaths[count],
formData:{
userId:app.globalData.userMsg.userId
},
name: "uploadImage",
header: {
'content-type': 'multipart/form-data'
},
success (e) {
console.log(e)
let path = _this.data.imgPath;
let obj = e.data;
if(obj.status === "y"){
path.push(obj.infoObject);
_this.setData({
imgPath:path
});
}
successUp++;// +1
},
fail (e) {
failUp++;// +1
},
complete (e) {
count++;//
if(count == length){
FN.Toast(` ${successUp}`)
}else{
// ,
_this.recursionUploading(imgPaths, successUp, failUp, count, length);
}
}
})
},
큰 그림 미리 보기
//
lookBigImg (e) {
let index = e.currentTarget.dataset.index;//
let big = this.data.imgs[index];
wx.previewImage({
current: big, // http
urls: this.data.imgs // http
})
},
보시면 도움이 될 것 같으면 @붕도11997110103입니다. 좋아요와 댓글에 관심을 가져주시기 바랍니다.END
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.