微信小程序实现图片上传

微信小程序实现图片上传

最近做了个小程序,涉及到了图片上传的功能,今天给大家详细介绍下如何实现小程序图片上传,话不多说先上代码

首先是静态布局和样式部分

.wxml代码部分

<view class=load-img>
    <view class=load-box>
      <view class=img-item wx:for="{
         
  {fileList}}" wx:key="index" >
        <image src="{
         
  {item.path}}" data-src="{
         
  {item}}" mode="aspectFill" data-list="{
         
  {fileList}}" bindtap=""></image>
        <icon class=icon type="clear" size="20" color=#EF4444 catchtap=_onDelTab data-idx="{
         
  {index}}" wx:if="{
         
  {!prevent}}"/>
      </view>
      <image class=img-add bindtap=_addImg wx:if="{
         
  {!prevent}}"></image>
    </view>
  </view>

.wxss代码部分

/* 上传图片 */
.load-name {
    height: 80rpx;
    line-height: 80rpx;
    font-size: 30rpx;
  }
  .load-box {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .img-item, .img-add {
    position: relative;
    width: 140rpx;
    height: 140rpx;
    margin: 20rpx;
  }
  .img-add {
    border: 1px solid #ccc;
  }
  .img-add:after{
    width: 1rpx;
    height: 50rpx;
    content: " ";
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background-color: #ccc;
  }
  .img-add:before{
    position: absolute;
    top: 50%;
    right: 31%;
    width: 50rpx;
    height: 1rpx;
    content: " ";
    display: inline-block;
    background-color: #ccc;  
  }
  
  .img-item {
    margin-right: 20rpx;
  }
  .img-item image {
    width: 100%;
    height: 100%;
    border-radius: 10rpx;
  }
  .icon {
    position: absolute;
    top: 0;
    right: 0;
  }

以上这些基本代码就可以完成图片上传,显示,删除等样式布局

下面是js的部分,我已详细备注~~~

先来看下完整的代码

代码里对代码的备注已经很明确了,大家仔细扒一下,根据的自己的项目进行相应的调整,基本上都是没问题的,~~不要直接直接粘贴不复置,我是直接在我的项目中直接拿过来的代码,直接粘贴复制肯定是不行的!!!~~

大家需要注意的是这里

通常在真机上点击选中图片后wx.chooseImage方法中返回的文件路径是wxfile:开头的路径,这样的路径想直接转成base64,上面的方式是可以实现的,我也是查了很多资料才找到的解决办法。

再一个需要注意的是image src属性想显示base64格式的图片要进行字符串拼接才可以正常显示如下图

好啦这些就是我小程序上传图片的操作,这些只是我对日常工作的积累,不喜勿喷 不喜勿喷 不喜勿喷 重要的事情说三遍,大家仔细看下代码理解用法,还是很简单的,看都不看想白漂肯定是不行的呦~~~~~~~~~

经验分享 程序员 微信小程序 职场和发展