uniapp使用uni.uploadFile上傳圖片檔案,發送form-data請求
- uni.uploadFile上傳圖片檔案
- uni.request發送form-data請求無效
- uniapp不支持 new FormData
- TypeError: Cannot read property 'indexOf' of undefined
- 解決no multipart boundary was found
uni.uploadFile上傳圖片檔案
使用uniapp開發混合app時碰到后臺需要發送multipart/form-data請求 ,可以直接使用uni.uploadFile上傳檔案的同時將后臺需要的其他 請求引數放在formData中一并發送
- 單檔案發送請求
uni.uploadFile({
url:this.url,
filePath: tempFilePaths[0],
name: 'file',
formData:this.formdata,
header:{
"Content-Type": "multipart/form-data",
"token":this.token
},
success: (res) => {
if (res.data.code == 200){
console.log('請求成功_______________',res)
uni.showToast({
icon:'none',
title:'提交成功',
success: (res) => {
setTimeout(() => {
uni.navigateBack({
delta: 1
})
}, 1500)
}
})
}
},
fail:(err)=>{
console.log('請求失敗_______________',err)
}
})
- 多檔案發送
<--定義一個 file 物件的陣列為files 引數,file 物件的結構:-->
let imgs = this.imgList.map((value, index) => {
return {
name: "img" + index,
uri: value
}
});
uni.uploadFile({
url:this.url,
files:this.imgs,
formData:this.formdata,
header:{
"Content-Type": "multipart/form-data",
"token":this.token
},
success: (res) => {
if (res.data.code == 200){
console.log('請求成功_______________',res)
uni.showToast({
icon:'none',
title:'提交成功',
success: (res) => {
setTimeout(() => {
uni.navigateBack({
delta: 1
})
}, 1500)
}
})
}
},
fail:(err)=>{
console.log('請求失敗_______________',err)
}
})
uni.request發送form-data請求無效
將header中的Content-Type改成"application/x-www-form-urlencoded"或者"multipart/form-data"都無法成功發送請求
uniapp不支持 new FormData
親測uniapp不支持直接new FormData()以及new window.FormData()
TypeError: Cannot read property ‘indexOf’ of undefined
解決no multipart boundary was found
自主修改"Content-Type": "multipart/form-data"會修改瀏覽器自動添加的boundary,導致后臺拿不到分割資料
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/265480.html
標籤:其他

