微信小程式上傳一或多張圖片
阿新 • • 發佈:2019-02-03
一.要點
1.選取圖片
wx.chooseImage({
sizeType:[],// original 原圖,compressed 壓縮圖,預設二者都有
sourceType:[],// album 從相簿選圖,camera 使用相機,預設二者都有
success:function(res){
console.log(res);
var array = res.tempFilePaths,//圖片的本地檔案路徑列表
}
})
2.上傳圖片
wx.uploadFile({
url:'',//開發者伺服器的 url
filePath:'',// 要上傳檔案資源的路徑 String型別!!!
name:'uploadFile',// 檔案對應的 key ,(後臺介面規定的關於圖片的請求引數)
header:{
'content-type':'multipart/form-data'
},// 設定請求的 header
formData:{},// HTTP 請求中其他額外的引數
success:function(res){
},
fail:function(res){
}
})
二.程式碼示例
// 點選上傳圖片
upShopLogo:function(){
var that =this;
wx.showActionSheet({
itemList
itemColor:"#f7982a",
success:function(res){
if(!res.cancel){
if(res.tapIndex ==0){
that.chooseWxImageShop('album')
}elseif(res.tapIndex ==1){
that.chooseWxImageShop('camera')
}
}
}
})
},
chooseWxImageShop:function(type){
var that =this;
wx.chooseImage({
sizeType
sourceType:[type],
success:function(res){
/*上傳單張
that.data.orderDetail.shopImage = res.tempFilePaths[0],
that.upload_file(API_URL + 'shop/shopIcon', res.tempFilePaths[0])
*/
/*上傳多張(遍歷陣列,一次傳一張)
for (var index in res.tempFilePaths) {
that.upload_file(API_URL + 'shop/shopImage', res.tempFilePaths[index])
}
*/
}
})
},
upload_file:function(url, filePath){
var that =this;
wx.uploadFile({
url: url,
filePath: filePath,
name:'uploadFile',
header:{
'content-type':'multipart/form-data'
},// 設定請求的 header
formData:{'shopId': wx.getStorageSync('shopId')},// HTTP 請求中其他額外的 form data
success:function(res){
wx.showToast({
title:"圖片修改成功",
icon:'success',
duration:700
})
},
fail:function(res){
}
})
},