MM們
2023-07-14 10:08:22
export const updateUserAvatarResponse = async data => {const resp = await fetch(config.domain + '/api/users/update/avatar/', {? ? method: 'POST',? ? headers: {? ? ? ? Accept: 'application/json',? ? ? ? 'Content-Type': 'multipart/form-data',? ? ? ? 'Authorization': 'Bearer ' + data.access,? ? },? ? body: new FormData('avatar', {? ? ? ? type: 'image/jpeg',? ? ? ? uri: data.avatar.uri,? ? ? ? name: 'filename.jpg',? ? ? ? // data: data.avatar,? ? }),});return await resp.json();};updateAva = async () => { const options = { title: '選擇頭像', // noData: false, storageOptions: { //skipBackup: true, path: 'images', }, // multiple: true, //包括Exif:正確,? ? };? ? ImagePicker.showImagePicker(options, (response) => {? ? ? ? if (response.uri) {? ? ? ? ? ? this.setState({? ? ? ? ? ? ? ? imageData: response.uri,? ? ? ? ? ? ? ? data: response? ? ? ? ? ? });? ? ? ? ? ? this.uploadImage();? ? ? ? }? ? });};uploadImage = async () => {? ? const access = await getAccessToken();? ? const resp = await updateUserAvatarResponse({? ? ? ? access: access,? ? ? ? avatar: this.state.data? ? });? ? console.log(this.state.data);? ? console.log(resp);};但出現(xiàn)此錯(cuò)誤。
1 回答

holdtom
TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超10個(gè)贊
實(shí)際問題在這里:
body: new FormData('avatar', {
? ? type: 'image/jpeg',
? ? uri: data.avatar.uri,
? ? name: 'filename.jpg',
? ? // data: data.avatar,
}),
FormData
您正在嘗試通過傳遞無效參數(shù)來創(chuàng)建新實(shí)例。根據(jù)FormData 的文檔,當(dāng)您傳遞HtmlElement
可以從中獲取的值document.getElementById
(例如)時(shí),這種創(chuàng)建 FormData 的方法是有效的。
根據(jù)您的情況,正確的創(chuàng)建方法FormData是:
let data = new FormData();
data.append('avatar', {
? ?type: 'image/jpeg',
? ?uri: data.avatar.uri,
? ?name: 'filename.jpg',
});
添加回答
舉報(bào)
0/150
提交
取消