微信開發(fā)之旅———Day7(媒體api之圖片api)

(昨天不太舒服就鴿了一天偏形,QAQ)

前天看了一個(gè)最常用的網(wǎng)絡(luò)api——wx.request
然后可能會(huì)有人問了阻星,我想自己寫api,怎么去做呢已添?這里給大家提供一個(gè)思路妥箕,就是用spring boot去寫api,僅需要少量的配置酝碳,開發(fā)復(fù)雜度大大降低矾踱。(有需求的同學(xué)可以先去了解一下,我之后可能也會(huì)開一篇從零學(xué)spring boot吧疏哗,有興趣的朋友們可以關(guān)注一下)呛讲。

之前還說過,除了這個(gè)api還有很多api,這里就不一一演示了贝搁,因?yàn)闆]有現(xiàn)成的api供大家使用吗氏,所以看一下用法就ok,實(shí)際操作和wx.request大同小異雷逆。
詳情戳這里

媒體api

今天我們主要來看看媒體api弦讽,媒體api大致分為5類:

  • 圖片api
  • 錄音api
  • 音頻播放控制api
  • 音樂播放控制api
  • 視頻api

先來看一下圖片api

圖片api

圖片api主要實(shí)現(xiàn)對(duì)本地相冊(cè)圖片或相機(jī)拍照?qǐng)D片的處理,目前包括6個(gè)api接口

  • wx.saveImageToPhotosAlbum(Object object) 接口用于預(yù)覽圖片膀哲。
  • wx.previewImage(Object object) 接口用于在新頁面中全屏預(yù)覽圖片往产。預(yù)覽的過程中用戶可以進(jìn)行保存圖片、發(fā)送給朋友等操作某宪。
  • wx.getImageInfo(Object object) 接口用于獲取圖片信息仿村。網(wǎng)絡(luò)圖片需先配置download域名才能生效。
  • wx.compressImage(Object object) 接口用于壓縮圖片接口兴喂,可選壓縮質(zhì)量蔼囊。
  • wx.chooseMessageFile(Object object) 接口用于從客戶端會(huì)話選擇文件。
  • wx.chooseImage(Object object) 接口用于從本地相冊(cè)選擇圖片或使用相機(jī)拍照衣迷。

來一個(gè)一個(gè)看一下

1.wx.saveImageToPhotosAlbum(Object object) 接口用于預(yù)覽圖片畏鼓。

More Actions屬性類型必填說明filePathstring是圖片文件路徑,可以是臨時(shí)文件路徑或永久文件路徑壶谒,不支持網(wǎng)絡(luò)圖片路徑successfunction否接口調(diào)用成功的回調(diào)函數(shù)failfunction否接口調(diào)用失敗的回調(diào)函數(shù)completefunction否接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功云矫、失敗都會(huì)執(zhí)行)

屬性 類型 必填 說明
filePath string 圖片文件路徑,可以是臨時(shí)文件路徑或永久文件路徑佃迄,不支持網(wǎng)絡(luò)圖片路徑
success function 接口調(diào)用成功的回調(diào)函數(shù)
fail function 接口調(diào)用失敗的回調(diào)函數(shù)
complete function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功泼差、失敗都會(huì)執(zhí)行)

示例代碼

wx.saveImageToPhotosAlbum({
  success(res) { }
})
2.wx.previewImage(Object object)接口用于在新頁面中全屏預(yù)覽圖片。預(yù)覽的過程中用戶可以進(jìn)行保存圖片呵俏、發(fā)送給朋友等操作堆缘。
屬性 類型 默認(rèn)值 必填 說明
urls Array 需要預(yù)覽的圖片鏈接列表。2.2.3 起支持云文件ID普碎。
current string urls 的第一張 當(dāng)前顯示圖片的鏈接
success function 接口調(diào)用成功的回調(diào)函數(shù)
fail function 接口調(diào)用失敗的回調(diào)函數(shù)
complete function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功吼肥、失敗都會(huì)執(zhí)行)

示例代碼

wx.previewImage({
  current: '', // 當(dāng)前顯示圖片的http鏈接
  urls: [] // 需要預(yù)覽的圖片http鏈接列表
})
3.wx.getImageInfo(Object object) 接口用于獲取圖片信息。網(wǎng)絡(luò)圖片需先配置download域名才能生效麻车。
屬性 類型 必填 說明
src string 圖片的路徑缀皱,可以是相對(duì)路徑、臨時(shí)文件路徑动猬、存儲(chǔ)文件路徑啤斗、網(wǎng)絡(luò)圖片路徑
success function 接口調(diào)用成功的回調(diào)函數(shù)
fail function 接口調(diào)用失敗的回調(diào)函數(shù)
complete function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

示例代碼

wx.getImageInfo({
  src: 'images/a.jpg',
  success(res) {
    console.log(res.width)
    console.log(res.height)
  }
})

wx.chooseImage({
  success(res) {
    wx.getImageInfo({
      src: res.tempFilePaths[0],
      success(res) {
        console.log(res.width)
        console.log(res.height)
      }
    })
  }
})
4.wx.compressImage(Object object) 接口用于壓縮圖片接口赁咙,可選壓縮質(zhì)量钮莲。
屬性 類型 默認(rèn)值 必填 說明
src string 圖片路徑免钻,圖片的路徑,可以是相對(duì)路徑崔拥、臨時(shí)文件路徑极舔、存儲(chǔ)文件路徑
quality number 80 壓縮質(zhì)量,范圍0~100链瓦,數(shù)值越小拆魏,質(zhì)量越低,壓縮率越高(僅對(duì)jpg有效)慈俯。
success function 接口調(diào)用成功的回調(diào)函數(shù)
fail function 接口調(diào)用失敗的回調(diào)函數(shù)
complete function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功渤刃、失敗都會(huì)執(zhí)行)

示例代碼

wx.compressImage({
  src: '', // 圖片路徑
  quality: 80 // 壓縮質(zhì)量
})
5.wx.chooseMessageFile(Object object) 接口用于從客戶端會(huì)話選擇文件。
屬性 類型 默認(rèn)值 必填 說明
count number 100 最多可以選擇的圖片張數(shù)肥卡,可以 0~100
type string 'all' 所選的文件的類型
success function 接口調(diào)用成功的回調(diào)函數(shù)
fail function 接口調(diào)用失敗的回調(diào)函數(shù)
complete function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功溪掀、失敗都會(huì)執(zhí)行)

示例代碼

wx.chooseMessageFile({
  count: 10,
  type: 'image',
  success(res) {
    // tempFilePath可以作為img標(biāo)簽的src屬性顯示圖片
    const tempFilePaths = res.tempFilePaths
  }
})
6.wx.chooseImage(Object object) 接口用于從本地相冊(cè)選擇圖片或使用相機(jī)拍照。
屬性 類型 默認(rèn)值 必填 說明
count number 9 最多可以選擇的圖片張數(shù)
sizeType Array ['original', 'compressed'] 所選的圖片的尺寸
sourceType Array ['album', 'camera'] 選擇圖片的來源
success function 接口調(diào)用成功的回調(diào)函數(shù)
fail function 接口調(diào)用失敗的回調(diào)函數(shù)
complete function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功步鉴、失敗都會(huì)執(zhí)行)

示例代碼

wx.chooseImage({
  count: 1,
  sizeType: ['original', 'compressed'],
  sourceType: ['album', 'camera'],
  success(res) {
    // tempFilePath可以作為img標(biāo)簽的src屬性顯示圖片
    const tempFilePaths = res.tempFilePaths
  }
})

實(shí)踐

然后上一波實(shí)驗(yàn)代碼,學(xué)完一定要實(shí)踐璃哟,不然相當(dāng)于沒學(xué)氛琢!在實(shí)踐中才能真正搞懂文檔到底講的什么。
今天的代碼依然沒有任何美化随闪,只是功能的實(shí)踐(大概這就是直男吧)

<!--pages/mt/mt.wxml-->
<button bindtap='ciBtn'>chooseImage</button>
<button bindtap='cmfBtn'>chooseMessageFile</button>
<button bindtap='piBtn'>previewImage</button>
<button bindtap='giiBtn'>getImageInfo</button>
<button bindtap='sitpaBtn'>saveImageToPhotosAlbum</button>
src: <text>{{info}}</text>
<view wx:for="{{p}}" wx:for-item="image">
    <image src="{{image}}" data-src="{{image}}" bindtap="previewImage"></image>
</view>
// pages/mt/mt.js
Page({

  /**
   * 頁面的初始數(shù)據(jù)
   */
  data: {
    p:null,
    info:null
  },

  //選擇圖片阳似,這里我設(shè)置可以選擇兩張
  ciBtn:function(){
    var that = this;
    wx.chooseImage({
      count:2,
      sizeType: ['original', 'compressed'],
      sourceType: ['album', 'camera'],
      success: function(res) {
        var tempFilePaths = res.tempFilePaths
        console.log(tempFilePaths)
        that.setData({
          p:tempFilePaths
        })
      },
    })
  },

  //預(yù)覽圖片
  piBtn:function(){
    wx.previewImage({
      urls:this.data.p,
      current: this.data.p[0],
    })
  },

  //獲取圖片信息,其實(shí)信息有很多铐伴,這里只打印了圖片路徑
  giiBtn:function(){
    var s = this.data.p[0];
    var that = this;
    wx.getImageInfo({
      src: s,
      success(res){
        that.setData({
          info: res.path
        })
      }
    })
  },

  //另外一種導(dǎo)入圖片的方式撮奏,同時(shí)可以導(dǎo)入其他文件
  cmfBtn:function(){
    var that = this;
    wx.chooseImage({
      count: 10,
      type: 'image',
      success: function (res) {
        var tempFilePaths = res.tempFilePaths
        console.log(tempFilePaths)
        that.setData({
          p: tempFilePaths
        })
      },
    })
  },

  //保存圖片到本地
  sitpaBtn:function(){
    wx.saveImageToPhotosAlbum({
      filePath: this.data.p[0],
      success(res){
        console.log('保存成功')
      }
    })
  }

})

要注意的是,這次代碼里面沒去做過多邏輯的處理当宴,所以一定先上傳圖片再做其他的功能畜吊,否則我也不知道會(huì)出什么bug。户矢。玲献。

然后這里再提一點(diǎn)關(guān)于使用方面的問題,調(diào)試的時(shí)候其實(shí)可以不用每次都用console.log()去查看每一個(gè)變量的值梯浪,可以直接在控制臺(tái)的appdata里面查看數(shù)據(jù)捌年。會(huì)方便很多!

AppData的位置

好了挂洛,關(guān)于圖片這部分的api就先看到這里吧礼预。!

上一篇:微信開發(fā)之旅———Day6(遠(yuǎn)程請(qǐng)求)
下一篇:微信開發(fā)之旅———Day8(實(shí)戰(zhàn)演練)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末虏劲,一起剝皮案震驚了整個(gè)濱河市托酸,隨后出現(xiàn)的幾起案子荠藤,更是在濱河造成了極大的恐慌,老刑警劉巖获高,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件哈肖,死亡現(xiàn)場離奇詭異,居然都是意外死亡念秧,警方通過查閱死者的電腦和手機(jī)淤井,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來摊趾,“玉大人币狠,你說我怎么就攤上這事±悖” “怎么了漩绵?”我有些...
    開封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長肛炮。 經(jīng)常有香客問我止吐,道長,這世上最難降的妖魔是什么侨糟? 我笑而不...
    開封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任碍扔,我火速辦了婚禮,結(jié)果婚禮上秕重,老公的妹妹穿的比我還像新娘不同。我一直安慰自己,他們只是感情好溶耘,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開白布二拐。 她就那樣靜靜地躺著,像睡著了一般凳兵。 火紅的嫁衣襯著肌膚如雪百新。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天留荔,我揣著相機(jī)與錄音吟孙,去河邊找鬼。 笑死聚蝶,一個(gè)胖子當(dāng)著我的面吹牛杰妓,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播碘勉,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼巷挥,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了验靡?” 一聲冷哼從身側(cè)響起倍宾,我...
    開封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤雏节,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后高职,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體钩乍,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年怔锌,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了寥粹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡埃元,死狀恐怖涝涤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情岛杀,我是刑警寧澤阔拳,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站类嗤,受9級(jí)特大地震影響糊肠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜土浸,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一罪针、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧黄伊,春花似錦、人聲如沸派殷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽毡惜。三九已至拓轻,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間经伙,已是汗流浹背扶叉。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留帕膜,地道東北人枣氧。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像垮刹,于是被迫代替她去往敵國和親达吞。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容