img.wxml
<view class="conts_block">
<view class="conts_tit">图片集</view>
<view class="conts_textarea">
<block wx:if="{{certificateImgs.length != 0}}">
<block wx:for="{{certificateImgs}}">
<view class="logoimgs" style="display:inline-block;margin-left:20rpx;">
<image src="{{item}}"></image>
<text class="icon iconfont icon-off" bindtap="hideImgs" data-imgs="{{item}}" data-index="{{index}}"></text>
</view>
</block>
</block>
<block wx:if="{{certificateImgs.length < 6}}">
<image src="../../image/add.png" class="addlogo" bindtap="chooseimgs"></image>
</block>
</view>
</view>
img.js
data: {
certificateImgs:[],
},
chooseimgs: function(e){
var that = this;
wx.chooseImage({
count:6,
sizeType: ['original', 'compressed'],
sourceType: ['album', 'camera'],
success: function(res){
const tempFilePaths = res.tempFilePaths;
that.setData({
pics:tempFilePaths
});
that.uploadimg();
},
})
},
uploadimg:function(){
var that = this;
var pics=this.data.pics;
var data = {
url:'fileimgs',
path:pics,
newpath:'msgimg'
};
app.uploadimg(data,that.getcimgs);
},
getcimgs: function(res){
var sarr = res.split(",");
sarr.pop();
this.setData({
certificateStr:res,
certificateImgs:sarr
})
},
hideImgs: function(e){
var img = e.currentTarget.dataset.imgs;
var index = e.currentTarget.dataset.index;
var certificateImgs = this.data.certificateImgs;
certificateImgs.splice(index,1);
this.setData({
certificateImgs:certificateImgs
})
wx.showLoading({
title: '删除中',
})
app.getAjax("delImage",{img:img},function(){
wx.hideLoading();
});
},
app.js
App({
uploadimg: function(data,callbacks){
var that=this,
i=data.i?data.i:0,
success=data.success?data.success:0,
fail=data.fail?data.fail:0,
str = data.str?data.str:'';
wx.uploadFile({
url: data.url,
filePath: data.path[i],
name: 'files',
formData:{path:data.newpath},
success: (resp) => {
success++;
str+=resp.data+',';
},
fail: (res) => {
fail++;
},
complete: () => {
i++;
if(i==data.path.length){
console.log('执行完毕');
console.log('成功:'+success+" 失败:"+fail);
console.log(str)
callbacks(str);
}else{
data.i=i;
data.success=success;
data.fail=fail;
data.str=str;
that.uploadimg(data,callbacks);
}
}
});
}
})
php
public function fileimgs(){
$files = request()->file("files");
$path = input('path');
if($files){
$info = $files->validate(['size'=>204800000,'ext'=>'jpg,png,gif'])->move(ROOT_PATH . 'public' . DS . 'uploads'.DS.$path);
if($info){
$newurl = '/uploads/'.$path.'/'.$info->getSaveName();
$img= str_replace('\\','/',$newurl);
return $img;
}else{
return $files->getError();
}
}
}
public function delImage(){
$img = input('post.img');
$url = substr($img,strpos($img, 'uploads/'));
unlink(ROOT_PATH.'public'.DS.$url);
return output_data(200,true);
}