知識
不管是網站,軟件還是小程序,都要直接或間接能為您產生價值,我們在追求其視覺表現(xiàn)的同時,更側重于功能的便捷,營銷的便利,運營的高效,讓網站成為營銷工具,讓軟件能切實提升企業(yè)內部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!
微信小程序開發(fā)實戰(zhàn)(22):上傳文件和下載文件
發(fā)表時間:2021-1-6
發(fā)布人:葵宇科技
瀏覽次數(shù):88
1. 上傳文件
使用 wx.uploadFile 方法可以向指定的 Url 上傳文件。該方法只有一個 Object 類型的參數(shù), Object 類型參數(shù)屬性的描述如下所示。
-
url : String 類型,必選,用于上傳文件的服務端 Url
-
filePath : String 類型,必選,要上傳文件資源的本地路徑
-
name : String 類型,必選,文件對應的 key , 開發(fā)者在服務器端通過這個 key 可以獲取到文件二進制內容
-
header : Object 類型,可選, HTTPS 請求 Header ,不能設置 Referer
-
formData : Object 類型,可選, HTTPS 請求中其他額外的 form data
-
success : Function 類型,可選,接口調用成功的回調函數(shù)
-
fail : Function 類型,可選,接口調用失敗的回調函數(shù)
-
complete : Function 類型,可選, 接口調用結束的回調函數(shù)(調用成功、失敗都會執(zhí)行)
測試 wx.uploadFile 方法也需要找一個 https 鏈接,如果沒有,可以使用 https://www.baidu.com ,盡管該鏈接不會真正接收上傳的文件,但會讓 wx.uploadFile 方法正常執(zhí)行,以便測試其中的回調函數(shù)。
下面的代碼通過 wx.chooseImage 方法彈出一個圖像選擇對話框,選擇圖像文件后,會調用 wx.uploadFile 方法將該文件上傳到服務端,如果上傳成功, success 函數(shù)會調用,并輸出響應數(shù)據。
wx.chooseImage({
success: function(res) {
var tempFilePaths = res.tempFilePaths
wx.uploadFile({
url: 'https://www.baidu.com',
filePath: tempFilePaths[0],
name: 'file',
formData:{
'user': 'Bill'
},
success: function(res){
var data = http://www.wxapp-union.com/res.data
console.log(data);
}
})
}
})
2. 下載文件
使用 wx.downloadFile 方法可以下載文件到臨時路徑,該方法有一個 Object 類型的參數(shù), Object 類型參數(shù)屬性的描述如下所示。
-
url : String 類型,必選,下載資源的 Url
-
header : Object 類型,可選, HTTPS 請求 Header
-
success : Function 類型,可選,下載成功后以 tempFilePath 的形式傳給頁面, res = {tempFilePath: ' 文件的臨時路徑 '}
-
fail : Function 類型,可選,接口調用失敗的回調函數(shù)
-
complete : Function 類型,可選, 接口調用結束的回調函數(shù)(調用成功、失敗都會執(zhí)行)
同樣,使用 wx.downloadFile 方法,也必須下載 HTTPS Url 指定的資源,例如,下面的代碼會下載百度首頁。
wx.downloadFile({
url: 'https://www.baidu.com',
success: function(res) {
// 輸出下載資源存儲的臨時文件名
console.log( res.tempFilePath);
}
})
下載的資源會保存成臨時文件,我們可以通過 res.tempFilePath 獲取臨時文件名,并做進一步處理,例如,如果下載的是視頻文件,可以使用 wx.playVoice 方法進行播放。
執(zhí)行這段代碼后,會看到在 Console 中輸出如圖 1 所示的臨時文件名。
圖1 下載資源的臨時文件