• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

微信小程序实现图片是上传、预览功能

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文实例讲述了微信小程序实现图片上传、删除和预览功能的方法,分享给大家供大家参考,具体如下:

这里主要介绍一下微信小程序的图片上传图片删除和图片预览

 

 

1、可以调用相机也可以从本地相册选择

2、本地实现微信小程序的上传照片、预览照片的功能

3、利用wx.chooseImage方法

4、附带了一些表单样式(可以忽略)

代码如下

wxml文件

  <view class="numberInfo">
 ** 信息录入</view>

<view class="container">

  <view class="lineHeight" type="number">手机号
     <input class=\'input\' placeholder=\'请输入手机号\'></input>
  </view>
    <view class="lineHeight" type="text">姓名
     <input class=\'input-15\' placeholder=\'姓名\'></input>
  </view>
  <view class="lineHeight" type="text">公司名称
     <input class=\'input-7\' placeholder=\'公司名称\'></input>
  </view>
  <view class="lineHeight">公司电话
      <input class=\'input-7\' type=\'number\' placeholder=\'区号\'></input>
  </view>
  <view class="lineHeight" type=\'number\'>分机号码
      <input class=\'input-7\' placeholder=\'公司分机号码(选填)\'></input>
  </view>
  <view class="lineHeight" type="text">
      <!-- <input class=\'input-7\'></input> -->
    <picker bindchange="bindPickerChange" value="{{index}}" range="{{array}}"  bindtap=\'clearFont\'>
            产品/服务 
            <text class=\'select\' >{{placeholder}} {{array[index]}}</text>
    </picker>
  </view>
  <view class="lineHeight" type="text">
      <!-- <input class=\'input-7\' placeholder=\'请选择\'></input> -->
      <view class="section">
        <!-- <view class="section__title">省市区选择器</view> -->
          <picker
             mode="region"
             bindchange="bindRegionChange"
             value="{{region}}"
             custom-item="{{customItem}}"
          >
            <view class="picker">
              公司地址 <text class=\'select\'>{{region[0]}},{{region[1]}},{{region[2]}}</text>
            </view>
         </picker>
  </view> 
  </view>
  <view class="lineHeight" type="text">具体地址
      <input class=\'input-7\' placeholder=\'具体地址\'></  input>
  </view>
</view>


<view class="weui-uploader">
  <view class="img-v weui-uploader__bd">
    <view class=\'pic\' wx:for="{{imgs}}" wx:for-item="item" wx:key="*this">
        <image class=\'weui-uploader__img \' 
                src="{{item}}" 
                data-index="{{index}}" mode="aspectFill" bindtap="previewImg">
                  <icon type=\'cancel\' class="delete-btn" data-index="{{index}}" catchtap="deleteImg"></icon>
        </image>
    </view>
    
      <!-- 用来提示用户上传图片 -->
      <view class="weui-uploader__input-box pic" bindtap="chooseImg"> </view>
  </view>
  <button class="upload-img-btn" bindtap="chooseImg" type=\'primary\'>拍照  / 上传</button>
</view>

  

css文件

/* pages/upload/upload.wxss */
.img{
  display: inline-block;
}

.pic {
float:left;
position:relative;
margin-right:9px;
margin-bottom:9px;
}

.delete-btn{
  position: absolute;
  top: 0;
  right: 0;
}

.weui-uploader{
  padding: 10rpx;
}


.lineHeight {
  width: 100%;
  line-height: 80rpx;
  border-bottom: 1px solid #ccc;
  font-size: 30rpx;
}
.container {
  padding: 0;
  align-items: left;
  padding-left: 15rpx;
}
.numberInfo {
  font-size: 24rpx;
  text-indent: 15rpx;
  border-bottom: 1px solid #ccc;
}

/* .input {
  display: inline-block;
  border: 1px solid #ccc;
  line-height: 80rpx;
  vertical-align: middle;
  margin-left: 11%;
  width: 75%;
} */
.input,
.input-7 ,
.input-15{
  margin-left: 7%;
  display: inline-block;
  /* border: 1px solid #ccc; */
  line-height: 80rpx;
  vertical-align: middle;
  width: 75%;
}
.input{
  margin-left: 11%;
}

button {
  width: 100%;
  margin-top: 30rpx;
}
.select{
  margin-left: 7%;
  color: #666;
}

.input-15{
  margin-left:15%;
}

  

js文件

// pages/upload/upload.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    imgs: [],
    placeholder: \'请选择\',
    array: [\'发电机\', \'充电器\', \'引擎动力\', \'其他\'],
    objectArray: [
      {
        id: 0,
        name: \'发电机\'
      },
      {
        id: 1,
        name: \'充电器\'
      },
      {
        id: 2,
        name: \'引擎动力\'
      },
      {
        id: 3,
        name: \'其他\'
      }
    ],

    multiIndex: [0, 0, 0],
    date: \'2016-09-01\',
    time: \'12:01\',
    region: [\'广东省\', \'广州市\', \'海珠区\'],
    customItem: \'全部\'
  },
  // 上传图片
  chooseImg: function (e) {
    var that = this;
    var imgs = this.data.imgs;
    if (imgs.length >= 9) {
      this.setData({
        lenMore: 1
      });
      setTimeout(function () {
        that.setData({
          lenMore: 0
        });
      }, 2500);
      return false;
    }
    wx.chooseImage({
      // count: 1, // 默认9
      sizeType: [\'original\', \'compressed\'], // 可以指定是原图还是压缩图,默认二者都有
      sourceType: [\'album\', \'camera\'], // 可以指定来源是相册还是相机,默认二者都有
      success: function (res) {
        // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片
        var tempFilePaths = res.tempFilePaths;
        var imgs = that.data.imgs;
        // console.log(tempFilePaths + \'----\');
        for (var i = 0; i < tempFilePaths.length; i++) {
          if (imgs.length >= 9) {
            that.setData({
              imgs: imgs
            });
            return false;
          } else {
            imgs.push(tempFilePaths[i]);
          }
        }
        // console.log(imgs);
        that.setData({
          imgs: imgs
        });
      }
    });
  },
  // 删除图片
  deleteImg: function (e) {
    var imgs = this.data.imgs;
    var index = e.currentTarget.dataset.index;
    imgs.splice(index, 1);
    this.setData({
      imgs: imgs
    });
  },
  // 预览图片
  previewImg: function (e) {
    //获取当前图片的下标
    var index = e.currentTarget.dataset.index;
    //所有图片
    var imgs = this.data.imgs;
    wx.previewImage({
      //当前显示图片
      current: imgs[index],
      //所有图片
      urls: imgs
    })
  },



  bindPickerChange(e) {
    console.log(\'picker发送选择改变,携带值为\', e.detail.value)
    this.setData({
      index: e.detail.value
    })
  },
  clearFont() {
    this.setData({
      placeholder: \'\'
    })
  },

  bindRegionChange(e) {
    console.log(\'picker发送选择改变,携带值为\', e.detail.value)
    this.setData({
      region: e.detail.value
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})

  

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
微信小程序如何上传图片发布时间:2022-07-18
下一篇:
微信小程序中如何上传图片发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap