亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

React-native-image-picker 未上傳到服務器

React-native-image-picker 未上傳到服務器

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);};但出現此錯誤。
查看完整描述

1 回答

?
holdtom

TA貢獻1805條經驗 獲得超10個贊

實際問題在這里:


body: new FormData('avatar', {

? ? type: 'image/jpeg',

? ? uri: data.avatar.uri,

? ? name: 'filename.jpg',

? ? // data: data.avatar,

}),

FormData您正在嘗試通過傳遞無效參數來創建新實例。根據FormData 的文檔,當您傳遞HtmlElement可以從中獲取的值document.getElementById(例如)時,這種創建 FormData 的方法是有效的。


根據您的情況,正確的創建方法FormData是:


let data = new FormData();

data.append('avatar', {

? ?type: 'image/jpeg',

? ?uri: data.avatar.uri,

? ?name: 'filename.jpg',

});


查看完整回答
反對 回復 2023-07-14
  • 1 回答
  • 0 關注
  • 133 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號