欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

微信小程序实现图片轮播及文件上传

程序员文章站 2022-04-10 11:52:25
 微信小程序实现图片轮播及文件上传 刚刚接触微信小程序,看着网上的资源写了个小例子,本地图片轮播以及图片上传。 图片轮播: index.js...

 微信小程序实现图片轮播及文件上传

刚刚接触微信小程序,看着网上的资源写了个小例子,本地图片轮播以及图片上传。

图片轮播:

index.js

<span style="font-size:14px;">var app = getapp()  
page({ 
  data:{ 
     mode: 'aspectfit', 
   // src:'../images/timg1.jpg', 
    imgurls:[ 
      '../images/1.jpg', 
      '../images/2.jpg', 
      '../images/3.jpg', 
       
      '../images/4.jpg' 
    ], 
  indicatordots: true,  //是否出现焦点 
  autoplay: true,  //是否自动播放 
  interval: 2000,  //自动播放时间间隔 
  duration: 1000,  //滑动动画时间 
  userinfo: {}  
  }, 
  onload:function(){ 
    console.log('onload test'); 
  } 
})</span> 

注:imgurls中为本地图片数组。

index.wxml:

<swiper indicator-dots = "{{indicatordots}}" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}"> 
<block wx:for="{{imgurls}}"> 
  <swiper-item class="swiper_i"> 
    <image src="{{item}}" mode="{{mode}}" class="slide-image" /> 
  </swiper-item> 
  </block> 
</swiper> 

index.json:

{ 
  "navigationbartitletext": "相册" 
} 

index.wxss:

.slide-image{ 
  width:100%; 
  height:100%; 
} 
.swiper_i{ 
  text-align: center; 
  width:100%; 
} 

好了,这是图片轮播的几个文件。会在app.json中配置。

接下来是图片上传的。因为没有服务器,暂时不能上传,但是可以从本地相册或拍照获取照片。

upload.js:

var app = getapp()  
page({ 
  data:{ 
  // text:"这是一个页面" 
  source: '', 
  tt:false 
 }, 
 /** 
  * 选择相册或者相机 配合上传图片接口用 
  */ 
 onload: function() { 
   var that = this; 
   wx.chooseimage({ 
     count: 1, 
     //original原图,compressed压缩图 
     sizetype: ['original'], 
     //album来源相册 camera相机  
     sourcetype: ['album', 'camera'], 
     //成功时会回调 
     success: function(res) { 
       //重绘视图 
       that.setdata({ 
         source: res.tempfilepaths, 
         tt:true 
       }) 
       /* var tempfilepaths = res.tempfilepaths 
      wx.uploadfile({ 
      url: 'https://', //仅为示例,非真实的接口地址 
      filepath: tempfilepaths[0], 
      name: 'file', 
      formdata:{ 
      'user': 'test' 
      }, 
      success: function(res){ 
      var data = res.data 
      //do something 
      } 
    })*/ 
     } 
   }) 
 }, 
 /*onhide:function(){ 
   this.setdata({ 
     source:'' 
   }) 
 }*/ 
}) 

upload.json:

{ 
  "navigationbartitletext": "上传图片" 
} 

upload.wxml:

<view class="container"> 
<image src="{{source}}" mode="aspectfit" class="image-i"/> 
<block wx:if="{{tt}}"> 
  <button type="primary" bindtap="listenerbuttonchooseimage">确认上传</button> 
</block> 
</view> 

upload.wxss:

/* pages/upload/upload.wxss */ 
.container{ 
  text-align:center; 
  width:100%; 
} 
.image-i{ 
  width:100%; 
  height:100%; 
} 

app.js为空。

app.json:

{ 
 "pages": [      
  "pages/index/index", 
  "pages/upload/upload" 
 ],  
 "window": {      
  "navigationbartextstyle": "black", 
  "navigationbartitletext": "演示2", 
  "navigationbarbackgroundcolor": "#fbf9fe", 
  "backgroundcolor": "#fbf9fe" 
 }, 
 "networktimeout": {     
  "request": 10000, 
  "connectsocket": 10000, 
  "uploadfile": 10000, 
  "downloadfile": 10000 
 }, 
 "tabbar": {     
  "list": [{ 
   "pagepath": "pages/index/index", 
   "text": "显示图片", 
   "iconpath": "pages/images/icon_api.png", 
   "selectediconpath": "pages/images/icon_api_hl.png" 
  },{ 
   "pagepath": "pages/upload/upload", 
   "text": "上传", 
   "iconpath": "pages/images/icon_api.png", 
   "selectediconpath": "pages/images/icon_api_hl.png" 
  }] 
 }, 
 "debug": true 
  
} 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!