图片上传
const uploadImg = (imgNumber,imgType,successBack,errorBack,baseUrl) =>{
if(imgType == 1){
let btnArray = [{title:"拍一张"},{title:"相册选择"}];
plus.nativeUI.actionSheet( {
cancel:"取消",
buttons: btnArray
}, function(e){
var index = e.index;
switch (index){
case 0:
break;
case 1:
appendByCamera(imgNumber,imgType,successBack,errorBack,baseUrl);
break;
case 2:
galleryImg(imgNumber,imgType,successBack,errorBack,baseUrl);
break;
}
});
}else if(imgType == 2){
let btnArray = [{title:"拍一张"}];
plus.nativeUI.actionSheet( {
cancel:"取消",
buttons: btnArray
}, function(e){
var index = e.index;
switch (index){
case 0:
break;
case 1:
appendByCamera(imgNumber,imgType,successBack,errorBack,baseUrl);
break;
}
});
}else{
let btnArray = [{title:"相册选择"}];
plus.nativeUI.actionSheet( {
cancel:"取消",
buttons: btnArray
}, function(e){
var index = e.index;
switch (index){
case 0:
break;
case 1:
galleryImg(imgNumber,imgType,successBack,errorBack,baseUrl);
break;
}
});
}
}
拍照方法
const appendByCamera = (imgNumber,imgType,successBack,errorBack,baseUrl) =>{
uni.showLoading({
title: "图片拍照中...",
icon: "none"
})
plus.camera.getCamera().captureImage((p) => {
plus.io.resolveLocalFileSystemURL( p, ( entry ) => {
let pic = entry.toLocalURL();
var picname="_doc/"+Math.floor(Math.random()*100000000+10000000).toString()+".png";
plus.zip.compressImage({
src: pic,
dst:picname,
quality:20,
width:"400px",
format:"png"
},
function(data) {
let files = [];
files.push({name:"uploadkey1",path:data.target});
if(files.length<=0){
plus.nativeUI.alert("没有添加上传文件!");
return;
}
var task = plus.uploader.createUpload(baseUrl,{method:"POST"},successBack);
task.addData("client","HelloH5+");
task.addData("uid",Math.floor(Math.random()*100000000+10000000).toString());
for(let i = 0;i < files.length;i++){
let f = files[i];
task.addFile(f.path,{key:f.name});
}
task.start();
},function(error){
uni.hideLoading();
wt.close();
mui.toast('添加文件失败');
});
});
},(error) => {
uni.hideLoading();
});
}
相册额选择方法
const galleryImg = (imgNumber,imgType,successBack,errorBack,baseUrl) => {
uni.showLoading({
title: "图片选择中...",
icon: "none"
})
plus.gallery.pick(function(e){
for(var i in e.files){
var fileSrc = e.files[i]
var picname="_doc/"+Math.floor(Math.random()*100000000+10000000).toString()+".png";
plus.zip.compressImage({
src: fileSrc,
dst:picname,
quality:20,
width:"400px",
format:"png"
},
function(data) {
console.log(JSON.stringify(data));
let files = [];
files.push({name:"uploadkey1",path:data.target});
if(files.length<=0){
plus.nativeUI.alert("没有添加上传文件!");
return;
}
var task = plus.uploader.createUpload(baseUrl,{method:"POST"},successBack);
task.addData("client","HelloH5+");
task.addData("uid",Math.floor(Math.random()*100000000+10000000).toString());
for(let i = 0;i < files.length;i++){
let f = files[i];
task.addFile(f.path,{key:f.name});
}
task.start();
},(error) =>{
wt.close();
uni.hideLoading();
mui.toast('添加文件失败');
});
}
}, function ( e ) {
uni.hideLoading();
console.log( "取消选择图片" );
},{
filter: "image",
multiple: true,
maximum: imgNumber,
system: false,
onmaxed: function() {
plus.nativeUI.alert('最多只能选择'+imgNumber+'张图片');
}
});
}