首先,app拍照首妖,選擇uni.chooseImage, 拍完之后上傳接口要求formData格式,但是uniapp不能 new File, 所以無(wú)法轉(zhuǎn)換。
可以使用plus.uploader.createUpload 來(lái)上傳formData格式.
完美!
let uploadFileTask = plus.uploader.createUpload(
process.env.VUE_APP_BASE_API + UPLOAD_API, {
method: "POST",
headers: {
// 修改請(qǐng)求頭Content-Type類型 此類型為文件上傳
"Content-Type": "multipart/form-data",
}
},
// data:服務(wù)器返回的響應(yīng)值 status: 網(wǎng)絡(luò)請(qǐng)求狀態(tài)碼
(data, status) => {
// 請(qǐng)求上傳文件成功
const resData = data
if (status == 200) {
// 獲取data.responseText之后根據(jù)自己的業(yè)務(wù)邏輯做處理
const result = resData.responseText;
const resultData = JSON.parse(result)
if (resultData.code === 200) {
// 請(qǐng)求成功
this.handleCreate(resultData.data)
return
}
this.$tip.toast(message)
} else { // 請(qǐng)求上傳文件失敗
console.log("上傳失敗", status)
}
}
)
// 設(shè)置請(qǐng)求頭部信息
uploadFileTask.setRequestHeader("Authorization", `Bearer ${uni.getStorageSync(ACCESS_TOKEN)}`)
uploadFileTask.addFile(file, {
key: "file" // 填入圖片文件對(duì)應(yīng)的字段名
});
// 開始上傳
uploadFileTask.start()