微信小程序保存圖片到相冊


本文鏈接:https://blog.csdn.net/u013654125/article/details/80500306
先來看小程序中的保存圖片到相冊的api

wx.saveImageToPhotosAlbum({
filePath : "./test.png", //這個只是測試路徑,沒有效果
success(res) {
console.log("success");
},
fail : function(res) {
console.log(res);
}
})

 

上面的saveImageToPhotosAlbum的用法是不能獲取到文件的,因為filePath在官方的說法是可以是臨時文件路徑或永久文件路徑。

而"filePath : ./test.png"只是一個相對路徑(相對小程序項目來說的一個路徑),而我們需要的是臨時文件路徑或永久文件路徑。

下面說一下三者的區別:

相對路徑:小程序項目中相對的文件路徑。

臨時文件路徑:從網絡上下載或其他形式生成的文件,但是只保存在內存中,沒有保存到小程序目錄中的文件路徑。

永久文件路徑:小程序項目中文件中的全文件路徑。

注:相對路徑和永久文件路徑可能是同一個文件,只是引用的路徑名不一樣而已(一個是相對的,一個是絕對的)。

其中臨時文件路徑我們可以這樣獲得來保存文件到相冊:

wx.downloadFile({
url: 'https://example.com/audio/123', //僅為示例,並非真實的資源
success: function (res) {
// 只要服務器有響應數據,就會把響應內容寫入文件並進入 success 回調,業務需要自行判斷是否下載到了想要的內容
if (res.statusCode === 200) {
wx.saveImageToPhotosAlbum({
filePath: res.tempFilePath,
success(res) {
wx.showToast({
title: '保存圖片成功!',
})
},
fail(res) {
wx.showToast({
title: '保存圖片失敗!',
})
}
})
}
}
})

 


用downloadFile只可以獲取網絡上的圖片資源;而getImageInfo則是全能類型,不管是網絡上的圖片資源,還是小程序中保存的圖片。

官方上的說法:getImageInfo的src參數的圖片路徑可以是相對路徑、臨時文件路徑、存儲文件路徑(即上面說的全路徑)、網絡圖片路徑。

wx.downloadFile({
url: 'https://example.com/audio/123', //僅為示例,並非真實的資源
success: function (res) {
// 只要服務器有響應數據,就會把響應內容寫入文件並進入 success 回調,業務需要自行判斷是否下載到了想要的內容
if (res.statusCode === 200) {
wx.saveImageToPhotosAlbum({
filePath: res.tempFilePath,
success(res) {
wx.showToast({
title: '保存圖片成功!',
})
},
fail(res) {
wx.showToast({
title: '保存圖片失敗!',
})
}
})
}
}
})

 


總結:wx.getImageInfo功能更加強大;但是downloadFile則更加專業,因為downloadFile可以讀取下載進度等功能。




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM